diff --git a/types/SpineContainer.d.ts b/types/SpineContainer.d.ts
new file mode 100644
index 000000000..83f853915
--- /dev/null
+++ b/types/SpineContainer.d.ts
@@ -0,0 +1,130 @@
+///
+///
+///
+
+declare class SpineContainer extends Phaser.GameObjects.Container implements Phaser.GameObjects.Components.AlphaSingle, Phaser.GameObjects.Components.BlendMode, Phaser.GameObjects.Components.ComputedSize, Phaser.GameObjects.Components.Depth, Phaser.GameObjects.Components.Mask, Phaser.GameObjects.Components.Transform, Phaser.GameObjects.Components.Visible {
+ constructor(scene: Phaser.Scene, pluginManager: SpinePlugin, x?: number, y?: number, children?: SpineGameObject[]);
+
+ list: SpineGameObject[];
+
+ exclusive: boolean;
+
+ maxSize: number;
+ position: number;
+
+ localTransform: Phaser.GameObjects.Components.TransformMatrix;
+
+ scrollFactorX: number;
+ scrollFactorY: number;
+
+ readonly originX: number;
+ readonly originY: number;
+ readonly displayOriginX: number;
+ readonly displayOriginY: number;
+
+ setExclusive(value?: boolean): this;
+ getBounds(output?: Phaser.Geom.Rectangle): Phaser.Geom.Rectangle;
+ pointToContainer(source: object | Phaser.Geom.Point | Phaser.Math.Vector2, output?: object | Phaser.Geom.Point | Phaser.Math.Vector2): object | Phaser.Geom.Point | Phaser.Math.Vector2;
+ getBoundsTransformMatrix(): Phaser.GameObjects.Components.TransformMatrix;
+ add(child: SpineGameObject | SpineGameObject[]): this;
+ addAt(child: SpineGameObject | SpineGameObject[], index?: number): this;
+ getAt(index: number): SpineGameObject;
+ getIndex(child: SpineGameObject): number;
+ sort(property: string, handler?: Function): this;
+ getByName(name: string): SpineGameObject;
+ getRandom(startIndex?: number, length?: number): SpineGameObject;
+ getFirst(property: string, value: any, startIndex?: number, endIndex?: number): SpineGameObject;
+ getAll(property?: string, value?: any, startIndex?: number, endIndex?: number): SpineGameObject[];
+ count(property: string, value: any, startIndex?: number, endIndex?: number): number;
+ swap(child1: SpineGameObject, child2: SpineGameObject): this;
+ moveTo(child: SpineGameObject, index: number): this;
+ remove(child: SpineGameObject | SpineGameObject[], destroyChild?: boolean): this;
+ removeAt(index: number, destroyChild?: boolean): this;
+ removeBetween(startIndex?: number, endIndex?: number, destroyChild?: boolean): this;
+ removeAll(destroyChild?: boolean): this;
+ bringToTop(child: SpineGameObject): this;
+ sendToBack(child: SpineGameObject): this;
+ moveUp(child: SpineGameObject): this;
+ moveDown(child: SpineGameObject): this;
+ reverse(): this;
+ shuffle(): this;
+ replace(oldChild: SpineGameObject, newChild: SpineGameObject, destroyChild?: boolean): this;
+ exists(child: SpineGameObject): boolean;
+ setAll(property: string, value: any, startIndex?: number, endIndex?: number): this;
+ each(callback: Function, context?: object, ...args: any[]): this;
+ iterate(callback: Function, context?: object, ...args: any[]): this;
+ setScrollFactor(x: number, y?: number, updateChildren?: boolean): this;
+
+ readonly length: number;
+ readonly first: SpineGameObject;
+ readonly last: SpineGameObject;
+ readonly next: SpineGameObject;
+ readonly previous: SpineGameObject;
+
+ protected preDestroy(): void;
+
+ clearAlpha(): this;
+ setAlpha(value?: number): this;
+
+ alpha: number;
+ blendMode: Phaser.BlendModes | string;
+
+ setBlendMode(value: string | Phaser.BlendModes): this;
+
+ width: number;
+ height: number;
+
+ displayWidth: number;
+ displayHeight: number;
+
+ setSize(width: number, height: number): this;
+ setDisplaySize(width: number, height: number): this;
+
+ depth: number;
+
+ setDepth(value: number): this;
+
+ mask: Phaser.Display.Masks.BitmapMask | Phaser.Display.Masks.GeometryMask;
+
+ setMask(mask: Phaser.Display.Masks.BitmapMask | Phaser.Display.Masks.GeometryMask): this;
+ clearMask(destroyMask?: boolean): this;
+ createBitmapMask(renderable?: Phaser.GameObjects.GameObject): Phaser.Display.Masks.BitmapMask;
+ createGeometryMask(graphics?: Phaser.GameObjects.Graphics): Phaser.Display.Masks.GeometryMask;
+
+ x: number;
+ y: number;
+ z: number;
+ w: number;
+
+ scale: number;
+ scaleX: number;
+ scaleY: number;
+
+ angle: number;
+ rotation: number;
+
+ setPosition(x?: number, y?: number, z?: number, w?: number): this;
+ setRandomPosition(x?: number, y?: number, width?: number, height?: number): this;
+ setRotation(radians?: number): this;
+ setAngle(degrees?: number): this;
+ setScale(x: number, y?: number): this;
+ setX(value?: number): this;
+ setY(value?: number): this;
+ setZ(value?: number): this;
+ setW(value?: number): this;
+
+ getLocalTransformMatrix(tempMatrix?: Phaser.GameObjects.Components.TransformMatrix): Phaser.GameObjects.Components.TransformMatrix;
+ getWorldTransformMatrix(tempMatrix?: Phaser.GameObjects.Components.TransformMatrix, parentMatrix?: Phaser.GameObjects.Components.TransformMatrix): Phaser.GameObjects.Components.TransformMatrix;
+
+ getParentRotation(): number;
+
+ visible: boolean;
+
+ setVisible(value: boolean): this;
+}
+
+declare interface SpineContainerConfig extends Phaser.Types.GameObjects.GameObjectConfig {
+ x?: number;
+ y?: number;
+ children?: SpineGameObject | SpineGameObject[];
+}
diff --git a/types/SpineGameObject.d.ts b/types/SpineGameObject.d.ts
index 90fe56476..a0abff445 100644
--- a/types/SpineGameObject.d.ts
+++ b/types/SpineGameObject.d.ts
@@ -5,7 +5,7 @@ declare class SpineGameObject extends Phaser.GameObjects.GameObject implements O
constructor(scene: Phaser.Scene, pluginManager: SpinePlugin, x: number, y: number, key?: string, animationName?: string, loop?: boolean);
alpha: number;
- angle: integer;
+ angle: number;
readonly blendMode: number;
@@ -44,9 +44,9 @@ declare class SpineGameObject extends Phaser.GameObjects.GameObject implements O
w: number;
width: number;
- addAnimation(trackIndex: integer, animationName: string, loop?: boolean, delay?: integer): spine.TrackEntry;
+ addAnimation(trackIndex: number, animationName: string, loop?: boolean, delay?: number): spine.TrackEntry;
angleBoneToXY(bone: spine.Bone, worldX: number, worldY: number, offset?: number, minAngle?: number, maxAngle?: number): SpineGameObject;
- clearTrack(trackIndex: integer): SpineGameObject;
+ clearTrack(trackIndex: number): SpineGameObject;
clearTracks(): SpineGameObject;
findAnimation(animationName: string): spine.Animation;
findBone(boneName: string): spine.Bone;
@@ -60,11 +60,11 @@ declare class SpineGameObject extends Phaser.GameObjects.GameObject implements O
findSlotIndex(slotName: string): number;
findTransformConstraint(constraintName: string): spine.TransformConstraintData;
getAnimationList(): string[];
- getAttachment(slotIndex: integer, attachmentName: string): spine.Attachment;
+ getAttachment(slotIndex: number, attachmentName: string): spine.Attachment;
getAttachmentByName(slotName: string, attachmentName: string): spine.Attachment;
getBoneList(): string[];
getBounds(): any;
- getCurrentAnimation(trackIndex?: integer): spine.Animation;
+ getCurrentAnimation(trackIndex?: number): spine.Animation;
getLocalTransformMatrix(tempMatrix?: Phaser.GameObjects.Components.TransformMatrix): Phaser.GameObjects.Components.TransformMatrix;
getParentRotation(): number;
getRootBone(): spine.Bone;
@@ -80,13 +80,13 @@ declare class SpineGameObject extends Phaser.GameObjects.GameObject implements O
resetFlip(): this;
setAlpha(value?: number): SpineGameObject;
setAngle(degrees?: number): this;
- setAnimation(trackIndex: integer, animationName: string, loop?: boolean, ignoreIfPlaying?: boolean): spine.TrackEntry;
+ setAnimation(trackIndex: number, animationName: string, loop?: boolean, ignoreIfPlaying?: boolean): spine.TrackEntry;
setAttachment(slotName: string, attachmentName: string): SpineGameObject;
setBonesToSetupPose(): SpineGameObject;
- setColor(color?: integer, slotName?: string): SpineGameObject;
- setDepth(value: integer): this;
+ setColor(color?: number, slotName?: string): SpineGameObject;
+ setDepth(value: number): this;
setDisplaySize(width: number, height: number): this;
- setEmptyAnimation(trackIndex: integer, mixDuration?: integer): spine.TrackEntry;
+ setEmptyAnimation(trackIndex: number, mixDuration?: number): spine.TrackEntry;
setFlipX(value: boolean): this;
setFlipY(value: boolean): this;
setFlip(x: boolean, y: boolean): this;
diff --git a/types/SpinePlugin.d.ts b/types/SpinePlugin.d.ts
index e65e578db..899ff488e 100644
--- a/types/SpinePlugin.d.ts
+++ b/types/SpinePlugin.d.ts
@@ -1,6 +1,7 @@
///
///
///
+///
declare namespace Phaser.Loader {
interface LoaderPlugin extends Phaser.Events.EventEmitter {
@@ -10,11 +11,13 @@ declare namespace Phaser.Loader {
declare namespace Phaser.GameObjects {
interface GameObjectFactory {
- spine(x: number, y: number, key?: string, aimationName?: string, loop?: boolean): SpineGameObject;
+ spine(x: number, y: number, key?: string, animationName?: string, loop?: boolean): SpineGameObject;
+ spineContainer(x: number, y: number, children?: SpineGameObject | SpineGameObject[]): SpineContainer;
}
interface GameObjectCreator {
spine(config: SpineGameObjectConfig, addToScene?: boolean): SpineGameObject;
+ spineContainer(config: SpineContainerConfig, addToScene?: boolean): SpineContainer;
}
}