Skip to content

Commit fd90447

Browse files
authored
Merge pull request phaserjs#4948 from ourcade/add-spineplugin-definitions
add SpinePlugin, SpineGameObject, SpineFile d.ts
2 parents ff2484a + 45abd54 commit fd90447

3 files changed

Lines changed: 160 additions & 0 deletions

File tree

types/SpineFile.d.ts

Lines changed: 18 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,18 @@
1+
declare namespace Phaser.Loader.FileTypes {
2+
interface SpineFileConfig {
3+
key: string
4+
textureURL?: string
5+
textureExtension?: string
6+
textureXhrSettings?: Phaser.Types.Loader.XHRSettingsObject
7+
normalMap?: string
8+
atlasURL?: string
9+
atlasExtension?: string
10+
atlasXhrSettings?: Phaser.Types.Loader.XHRSettingsObject
11+
}
12+
13+
class SpineFile extends Phaser.Loader.MultiFile {
14+
constructor(loader: Phaser.Loader.LoaderPlugin, key: string | Phaser.Loader.FileTypes.SpineFileConfig, jsonURL: string | string[], atlasURL: string, preMultipliedAlpha: boolean, jsonXhrSettings: Phaser.Types.Loader.XHRSettingsObject, atlasXhrSettings: Phaser.Types.Loader.XHRSettingsObject)
15+
16+
addToCache()
17+
}
18+
}

types/SpineGameObject.d.ts

Lines changed: 85 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,85 @@
1+
/// <reference path="./spine.d.ts" />
2+
3+
declare class SpineGameObject {
4+
constructor(scene: Phaser.Scene, pluginManager: SpinePlugin, x: number, y: number, key?: string, animationName?: string, loop?: boolean)
5+
6+
alpha: number
7+
8+
readonly blendMode: number
9+
10+
blue: number
11+
bounds: any
12+
displayOriginX: number
13+
displayOriginY: number
14+
drawDebug: boolean
15+
green: number
16+
plugin: SpinePlugin
17+
preMultipliedAlpha: boolean
18+
red: number
19+
root: spine.Bone
20+
scaleX: number
21+
scaleY: number
22+
skeleton: spine.Skeleton
23+
skeletonData: spine.SkeletonData
24+
state: spine.AnimationState
25+
stateData: spine.AnimationStateData
26+
timeScale: number
27+
28+
addAnimation(trackIndex: integer, animationName: string, loop?: boolean, delay?: integer): spine.TrackEntry
29+
angleBoneToXY(bone: spine.Bone, worldX: number, worldY: number, offset?: number, minAngle?: number, maxAngle?: number): SpineGameObject
30+
clearTrack(trackIndex: integer): SpineGameObject
31+
clearTracks(): SpineGameObject
32+
findAnimation(animationName: string): spine.Animation
33+
findBone(boneName: string): spine.Bone
34+
findBoneIndex(boneName: string): number
35+
findEvent(eventDataName: string): spine.EventData
36+
findIkConstraint(constraintName: string): spine.IkConstraintData
37+
findPathConstraint(constraintName: string): spine.PathConstraintData
38+
findPathConstraintIndex(constraintName: string): number
39+
findSkin(skinName: string): spine.Skin
40+
findSlot(slotName: string): spine.Slot
41+
findSlotIndex(slotName: string): number
42+
findTransformConstraint(constraintName: string): spine.TransformConstraintData
43+
getAnimationList(): string[]
44+
getAttachment(slotIndex: integer, attachmentName: string): spine.Attachment
45+
getAttachmentByName(slotName: string, attachmentName: string): spine.Attachment
46+
getBoneList(): string[]
47+
getBounds(): any
48+
getCurrentAnimation(trackIndex?: integer): spine.Animation
49+
getRootBone(): spine.Bone
50+
getSkinList(): string[]
51+
getSlotList(): string[]
52+
play(animationName: string, loop?: boolean, ignoreIfPlaying?: boolean): SpineGameObject
53+
54+
protected preUpdate(time: number, delta: number): void
55+
protected preDestroy(): void
56+
57+
refresh(): SpineGameObject
58+
setAlpha(value?: number): SpineGameObject
59+
setAnimation(trackIndex: integer, animationName: string, loop?: boolean, ignoreIfPlaying?: boolean): spine.TrackEntry
60+
setAttachment(slotName: string, attachmentName: string): SpineGameObject
61+
setBonesToSetupPose(): SpineGameObject
62+
setColor(color?: integer, slotName?: string): SpineGameObject
63+
setEmptyAnimation(trackIndex: integer, mixDuration?: integer): spine.TrackEntry
64+
setMix(fromName: string, toName: string, duration?: number): SpineGameObject
65+
setOffset(offsetX?: number, offsetY?: number): SpineGameObject
66+
setSize(width?: number, height?: number, offsetX?: number, offsetY?: number): SpineGameObject
67+
setSkeleton(atlasDataKey: string, skeletonJSON: object, animationName?: string, loop?: boolean): SpineGameObject
68+
setSkeletonFromJSON(atlasDataKey: string, skeletonJSON: object, animationName?: string, loop?: boolean): SpineGameObject
69+
setSkin(newSkin: spine.Skin): SpineGameObject
70+
setSkinByName(skinName: string): SpineGameObject
71+
setSlotsToSetupPose(): SpineGameObject
72+
setToSetupPose(): SpineGameObject
73+
updateSize(): SpineGameObject
74+
willRender(): boolean
75+
}
76+
77+
declare interface SpineGameObjectConfig extends Phaser.Types.GameObjects.GameObjectConfig
78+
{
79+
key?: string
80+
animationName?: string
81+
loop?: boolean
82+
skinName?: string
83+
slotName?: string
84+
attachmentName?: string
85+
}

types/SpinePlugin.d.ts

Lines changed: 57 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
/// <reference path="./spine.d.ts" />
2+
3+
declare namespace Phaser.Loader {
4+
interface LoaderPlugin extends Phaser.Events.EventEmitter {
5+
spine(key: string | Phaser.Loader.FileTypes.SpineFileConfig | Phaser.Loader.FileTypes.SpineFileConfig[], jsonURL: string, atlasURL: string | string[], preMultipliedAlpha?: boolean, textureXhrSettings?: Phaser.Types.Loader.XHRSettingsObject, atlasXhrSettings?: Phaser.Types.Loader.XHRSettingsObject): LoaderPlugin
6+
}
7+
}
8+
9+
declare namespace Phaser.GameObjects {
10+
interface GameObjectFactory {
11+
spine(x: number, y: number, key?: string, aimationName?: string, loop?: boolean): SpineGameObject
12+
}
13+
14+
interface GameObjectCreator {
15+
spine(config: SpineGameObjectConfig, addToScene?: boolean): SpineGameObject
16+
}
17+
}
18+
19+
declare class SpinePlugin extends Phaser.Plugins.ScenePlugin {
20+
constructor(scene: Phaser.Scene, pluginManager: Phaser.Plugins.PluginManager)
21+
22+
readonly isWebGL: boolean
23+
24+
cache: Phaser.Cache.BaseCache
25+
spineTextures: Phaser.Cache.BaseCache
26+
json: Phaser.Cache.BaseCache
27+
textures: Phaser.Textures.TextureManager
28+
drawDebug: boolean
29+
gl: WebGLRenderingContext
30+
renderer: Phaser.Renderer.Canvas.CanvasRenderer | Phaser.Renderer.WebGL.WebGLRenderer
31+
sceneRenderer: spine.webgl.SceneRenderer
32+
skeletonRenderer: spine.canvas.SkeletonRenderer | spine.webgl.SkeletonRenderer
33+
skeletonDebugRenderer: spine.webgl.SkeletonDebugRenderer
34+
35+
plugin: typeof spine
36+
37+
getAtlasCanvas(key: string): spine.TextureAtlas
38+
getAtlasWebGL(key: string): spine.TextureAtlas
39+
worldToLocal(x: number, y: number, skeleton: spine.Skeleton, bone?: spine.Bone): spine.Vector2
40+
getVector2(x: number, y: number): spine.Vector2
41+
getVector3(x: number, y: number, z: number): spine.Vector2
42+
setDebugBones(value?: boolean): SpinePlugin
43+
setDebugRegionAttachments(value?: boolean): SpinePlugin
44+
setDebugBoundingBoxes(value?: boolean): SpinePlugin
45+
setDebugMeshHull(value?: boolean): SpinePlugin
46+
setDebugMeshTriangles(value?: boolean): SpinePlugin
47+
setDebugPaths(value?: boolean): SpinePlugin
48+
setDebugSkeletonXY(value?: boolean): SpinePlugin
49+
setDebugClipping(value?: boolean): SpinePlugin
50+
setEffect(effect?: spine.VertexEffect): SpinePlugin
51+
createSkeleton(key: string, skeletonJSON?: object): any | null
52+
createAnimationState(skeleton: spine.Skeleton): any
53+
getBounds(skeleton: spine.Skeleton): any
54+
onResize(): void
55+
add(x: number, y: number, key?: string, animationName?: string, loop?: boolean): SpineGameObject
56+
make(config: SpineGameObjectConfig, addToScene?: boolean): SpineGameObject
57+
}

0 commit comments

Comments
 (0)