@safe-engine/cocos 2.4.1 → 2.4.2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/dist/chipmunk/PhysicsSystem.js +1 -1
  2. package/dist/core/EnhancedComponent.d.ts.map +1 -1
  3. package/dist/core/EnhancedComponent.js +1 -1
  4. package/dist/core/Scene.d.ts.map +1 -1
  5. package/dist/core/Scene.js +1 -0
  6. package/dist/core/index.d.ts +6 -0
  7. package/dist/core/index.d.ts.map +1 -0
  8. package/dist/core/index.js +5 -0
  9. package/dist/dragonbones/PixiDragonBonesSprite.d.ts +19 -0
  10. package/dist/dragonbones/PixiDragonBonesSprite.d.ts.map +1 -0
  11. package/dist/dragonbones/PixiDragonBonesSprite.js +75 -0
  12. package/dist/gworld/EnhancedComponent.d.ts +22 -0
  13. package/dist/gworld/EnhancedComponent.d.ts.map +1 -0
  14. package/dist/gworld/EnhancedComponent.js +44 -0
  15. package/dist/gworld/NodeComp.d.ts +153 -0
  16. package/dist/gworld/NodeComp.d.ts.map +1 -0
  17. package/dist/gworld/NodeComp.js +337 -0
  18. package/dist/gworld/NodePool.d.ts +9 -0
  19. package/dist/gworld/NodePool.d.ts.map +1 -0
  20. package/dist/gworld/NodePool.js +23 -0
  21. package/dist/gworld/Scene.d.ts +5 -0
  22. package/dist/gworld/Scene.d.ts.map +1 -0
  23. package/dist/gworld/Scene.js +14 -0
  24. package/dist/gworld/decorator.d.ts +8 -0
  25. package/dist/gworld/decorator.d.ts.map +1 -0
  26. package/dist/gworld/decorator.js +12 -0
  27. package/dist/gworld/index.d.ts +8 -0
  28. package/dist/gworld/index.d.ts.map +1 -0
  29. package/dist/gworld/index.js +14 -0
  30. package/dist/render/TiledSprite.d.ts +13 -0
  31. package/dist/render/TiledSprite.d.ts.map +1 -0
  32. package/dist/render/TiledSprite.js +69 -0
  33. package/dist/safex.d.ts +10 -0
  34. package/dist/safex.d.ts.map +1 -0
  35. package/dist/safex.js +1 -0
  36. package/dist/spine/CCSkeleton.d.ts +189 -0
  37. package/dist/spine/CCSkeleton.d.ts.map +1 -0
  38. package/dist/spine/CCSkeleton.js +320 -0
  39. package/dist/spine/CCSkeletonAnimation.d.ts +146 -0
  40. package/dist/spine/CCSkeletonAnimation.d.ts.map +1 -0
  41. package/dist/spine/CCSkeletonAnimation.js +311 -0
  42. package/dist/spine/CCSkeletonCanvasRenderCmd.d.ts +2 -0
  43. package/dist/spine/CCSkeletonCanvasRenderCmd.d.ts.map +1 -0
  44. package/dist/spine/CCSkeletonCanvasRenderCmd.js +228 -0
  45. package/dist/spine/CCSkeletonTexture.d.ts +25 -0
  46. package/dist/spine/CCSkeletonTexture.d.ts.map +1 -0
  47. package/dist/spine/CCSkeletonTexture.js +60 -0
  48. package/dist/spine/CCSkeletonWebGLRenderCmd.d.ts +28 -0
  49. package/dist/spine/CCSkeletonWebGLRenderCmd.d.ts.map +1 -0
  50. package/dist/spine/CCSkeletonWebGLRenderCmd.js +277 -0
  51. package/dist/spine/PixiSpineSprite.d.ts +19 -0
  52. package/dist/spine/PixiSpineSprite.d.ts.map +1 -0
  53. package/dist/spine/PixiSpineSprite.js +72 -0
  54. package/package.json +1 -1
@@ -0,0 +1,189 @@
1
+ /****************************************************************************
2
+ Copyright (c) 2011-2012 cocos2d-x.org
3
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
4
+ Copyright (c) 2014 Shengxiang Chen (Nero Chan)
5
+
6
+ http://www.cocos2d-x.org
7
+
8
+ Permission is hereby granted, free of charge, to any person obtaining a copy
9
+ of this software and associated documentation files (the "Software"), to deal
10
+ in the Software without restriction, including without limitation the rights
11
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
12
+ copies of the Software, and to permit persons to whom the Software is
13
+ furnished to do so, subject to the following conditions:
14
+
15
+ The above copyright notice and this permission notice shall be included in
16
+ all copies or substantial portions of the Software.
17
+
18
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
19
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
20
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
21
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
22
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
23
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
24
+ THE SOFTWARE.
25
+ ****************************************************************************/
26
+ /**
27
+ * The main namespace of Spine, all classes, functions, properties and constants of Spine are defined in this namespace
28
+ * @namespace
29
+ * @name
30
+ */
31
+ /**
32
+ * <p>
33
+ * The skeleton of Spine. <br/>
34
+ * Skeleton has a reference to a SkeletonData and stores the state for skeleton instance,
35
+ * which consists of the current pose's bone SRT, slot colors, and which slot attachments are visible. <br/>
36
+ * Multiple skeletons can use the same SkeletonData (which includes all animations, skins, and attachments). <br/>
37
+ * </p>
38
+ * @class
39
+ * @extends cc.Node
40
+ */
41
+ export declare class Skeleton extends cc.Node {
42
+ _skeleton: any;
43
+ _rootBone: any;
44
+ _timeScale: number;
45
+ _debugSlots: boolean;
46
+ _debugBones: boolean;
47
+ _premultipliedAlpha: any;
48
+ _ownsSkeletonData: any;
49
+ _atlas: any;
50
+ constructor(skeletonDataFile?: string, atlasFile?: string, scale?: number);
51
+ _createRenderCmd(): any;
52
+ onEnter(): void;
53
+ onExit(): void;
54
+ /**
55
+ * Sets whether open debug slots.
56
+ * @param {boolean} enable true to open, false to close.
57
+ */
58
+ setDebugSolots(enable: boolean): void;
59
+ /**
60
+ * Sets whether open debug bones.
61
+ * @param {boolean} enable
62
+ */
63
+ setDebugBones(enable: boolean): void;
64
+ /**
65
+ * Sets whether open debug slots.
66
+ * @param {boolean} enabled true to open, false to close.
67
+ */
68
+ setDebugSlotsEnabled(enabled: boolean): void;
69
+ /**
70
+ * Gets whether open debug slots.
71
+ * @returns {boolean} true to open, false to close.
72
+ */
73
+ getDebugSlotsEnabled(): boolean;
74
+ /**
75
+ * Sets whether open debug bones.
76
+ * @param {boolean} enabled
77
+ */
78
+ setDebugBonesEnabled(enabled: boolean): void;
79
+ /**
80
+ * Gets whether open debug bones.
81
+ * @returns {boolean} true to open, false to close.
82
+ */
83
+ getDebugBonesEnabled(): boolean;
84
+ /**
85
+ * Sets the time scale of Skeleton.
86
+ * @param {Number} scale
87
+ */
88
+ setTimeScale(scale: number): void;
89
+ getTimeScale(): number;
90
+ /**
91
+ * Initializes Skeleton with Data.
92
+ * @param {.spine.SkeletonData|String} skeletonDataFile
93
+ * @param {String|spine.Atlas|spine.SkeletonData} atlasFile atlas filename or atlas data or owns SkeletonData
94
+ * @param {Number} [scale] scale can be specified on the JSON or binary loader which will scale the bone positions, image sizes, and animation translations.
95
+ */
96
+ initWithArgs(skeletonDataFile: string, atlasFile: string, scale?: number): void;
97
+ /**
98
+ * Returns the bounding box of Skeleton.
99
+ * @returns {cc.Rect}
100
+ */
101
+ getBoundingBox(): cc.Rect;
102
+ /**
103
+ * Computes the world SRT from the local SRT for each bone.
104
+ */
105
+ updateWorldTransform(): void;
106
+ /**
107
+ * Sets the bones and slots to the setup pose.
108
+ */
109
+ setToSetupPose(): void;
110
+ /**
111
+ * Sets the bones to the setup pose, using the values from the `BoneData` list in the `SkeletonData`.
112
+ */
113
+ setBonesToSetupPose(): void;
114
+ /**
115
+ * Sets the slots to the setup pose, using the values from the `SlotData` list in the `SkeletonData`.
116
+ */
117
+ setSlotsToSetupPose(): void;
118
+ /**
119
+ * Finds a bone by name. This does a string comparison for every bone.
120
+ * @param {String} boneName
121
+ * @returns {.spine.Bone}
122
+ */
123
+ findBone(boneName: string): any;
124
+ /**
125
+ * Finds a slot by name. This does a string comparison for every slot.
126
+ * @param {String} slotName
127
+ * @returns {.spine.Slot}
128
+ */
129
+ findSlot(slotName: string): any;
130
+ /**
131
+ * Finds a skin by name and makes it the active skin. This does a string comparison for every skin. Note that setting the skin does not change which attachments are visible.
132
+ * @param {string} skinName
133
+ * @returns {.spine.Skin}
134
+ */
135
+ setSkin(skinName: string): any;
136
+ /**
137
+ * Returns the attachment for the slot and attachment name. The skeleton looks first in its skin, then in the skeleton data’s default skin.
138
+ * @param {String} slotName
139
+ * @param {String} attachmentName
140
+ * @returns {.spine.Attachment}
141
+ */
142
+ getAttachment(slotName: string, attachmentName: string): any;
143
+ /**
144
+ * Sets the attachment for the slot and attachment name. The skeleton looks first in its skin, then in the skeleton data’s default skin.
145
+ * @param {String} slotName
146
+ * @param {String} attachmentName
147
+ */
148
+ setAttachment(slotName: string, attachmentName: string): void;
149
+ /**
150
+ * Sets the premultiplied alpha value to Skeleton.
151
+ * @param {Number} alpha
152
+ */
153
+ setPremultipliedAlpha(premultiplied: boolean): void;
154
+ /**
155
+ * Returns whether to enable premultiplied alpha.
156
+ * @returns {boolean}
157
+ */
158
+ isPremultipliedAlpha(): boolean;
159
+ /**
160
+ * Sets skeleton data to Skeleton.
161
+ * @param {.spine.SkeletonData} skeletonData
162
+ * @param {.spine.SkeletonData} ownsSkeletonData
163
+ */
164
+ setSkeletonData(skeletonData: any, ownsSkeletonData: any): void;
165
+ /**
166
+ * Return the renderer of attachment.
167
+ * @param {.spine.RegionAttachment|.spine.BoundingBoxAttachment} regionAttachment
168
+ * @returns {.spine.TextureAtlasRegion}
169
+ */
170
+ getTextureAtlas(regionAttachment: any): any;
171
+ /**
172
+ * Returns the blendFunc of Skeleton.
173
+ * @returns {cc.BlendFunc}
174
+ */
175
+ getBlendFunc(): any;
176
+ /**
177
+ * Sets the blendFunc of Skeleton, it won't have any effect for skeleton, skeleton is using slot's data to determine the blend function.
178
+ * @param {cc.BlendFunc|Number} src
179
+ * @param {Number} [dst]
180
+ */
181
+ setBlendFunc(src: any, dst?: any): any;
182
+ /**
183
+ * Update will be called automatically every frame if "scheduleUpdate" is called when the node is "live".
184
+ * @param {Number} dt Delta time since last update
185
+ */
186
+ update(dt: number): void;
187
+ static create(skeletonDataFile: string, atlasFile: string, scale?: number): Skeleton;
188
+ }
189
+ //# sourceMappingURL=CCSkeleton.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CCSkeleton.d.ts","sourceRoot":"","sources":["../../src/spine/CCSkeleton.ts"],"names":[],"mappings":"AAMA;;;;;;;;;;;;;;;;;;;;;;;;8EAwB8E;AAE9E;;;;GAIG;AACH;;;;;;;;;GASG;AACH,qBAAa,QAAS,SAAQ,EAAE,CAAC,IAAI;IACnC,SAAS,MAAO;IAChB,SAAS,MAAO;IAChB,UAAU,SAAI;IACd,WAAW,UAAQ;IACnB,WAAW,UAAQ;IACnB,mBAAmB,MAAA;IACnB,iBAAiB,MAAO;IACxB,MAAM,MAAO;gBAED,gBAAgB,CAAC,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAOzE,gBAAgB;IAKhB,OAAO;IAKP,MAAM;IAKN;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,OAAO;IAI9B;;;OAGG;IACH,aAAa,CAAC,MAAM,EAAE,OAAO;IAI7B;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAIrC;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,oBAAoB,CAAC,OAAO,EAAE,OAAO;IAIrC;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;OAGG;IACH,YAAY,CAAC,KAAK,EAAE,MAAM;IAI1B,YAAY,IAAI,MAAM;IAItB;;;;;OAKG;IACH,YAAY,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;IAiCxE;;;OAGG;IACH,cAAc;IAkDd;;OAEG;IACH,oBAAoB;IAIpB;;OAEG;IACH,cAAc;IAId;;OAEG;IACH,mBAAmB;IAInB;;OAEG;IACH,mBAAmB;IAInB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB;;;;OAIG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM;IAIzB;;;;OAIG;IACH,OAAO,CAAC,QAAQ,EAAE,MAAM;IAIxB;;;;;OAKG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAItD;;;;OAIG;IACH,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM;IAItD;;;OAGG;IACH,qBAAqB,CAAC,aAAa,EAAE,OAAO;IAI5C;;;OAGG;IACH,oBAAoB,IAAI,OAAO;IAI/B;;;;OAIG;IACH,eAAe,CAAC,YAAY,EAAE,GAAG,EAAE,gBAAgB,EAAE,GAAG;IAcxD;;;;OAIG;IACH,eAAe,CAAC,gBAAgB,EAAE,GAAG;IAIrC;;;OAGG;IACH,YAAY,IAAI,GAAG;IAUnB;;;;OAIG;IACH,YAAY,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,EAAE,GAAG;IAKhC;;;OAGG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IAKjB,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM;CAG1E"}
@@ -0,0 +1,320 @@
1
+ import * as spine from '@esotericsoftware/spine-core';
2
+ import { AtlasAttachmentLoader, SkeletonJson, TextureAtlas } from '@esotericsoftware/spine-core';
3
+ import { _atlasLoader } from './CCSkeletonAnimation';
4
+ import { CanvasRenderCmd } from './CCSkeletonCanvasRenderCmd';
5
+ import { WebGLRenderCmd } from './CCSkeletonWebGLRenderCmd';
6
+ /****************************************************************************
7
+ Copyright (c) 2011-2012 cocos2d-x.org
8
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
9
+ Copyright (c) 2014 Shengxiang Chen (Nero Chan)
10
+
11
+ http://www.cocos2d-x.org
12
+
13
+ Permission is hereby granted, free of charge, to any person obtaining a copy
14
+ of this software and associated documentation files (the "Software"), to deal
15
+ in the Software without restriction, including without limitation the rights
16
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
17
+ copies of the Software, and to permit persons to whom the Software is
18
+ furnished to do so, subject to the following conditions:
19
+
20
+ The above copyright notice and this permission notice shall be included in
21
+ all copies or substantial portions of the Software.
22
+
23
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
24
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
25
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
26
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
27
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
28
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
29
+ THE SOFTWARE.
30
+ ****************************************************************************/
31
+ /**
32
+ * The main namespace of Spine, all classes, functions, properties and constants of Spine are defined in this namespace
33
+ * @namespace
34
+ * @name
35
+ */
36
+ /**
37
+ * <p>
38
+ * The skeleton of Spine. <br/>
39
+ * Skeleton has a reference to a SkeletonData and stores the state for skeleton instance,
40
+ * which consists of the current pose's bone SRT, slot colors, and which slot attachments are visible. <br/>
41
+ * Multiple skeletons can use the same SkeletonData (which includes all animations, skins, and attachments). <br/>
42
+ * </p>
43
+ * @class
44
+ * @extends cc.Node
45
+ */
46
+ export class Skeleton extends cc.Node {
47
+ _skeleton = null;
48
+ _rootBone = null;
49
+ _timeScale = 1;
50
+ _debugSlots = false;
51
+ _debugBones = false;
52
+ _premultipliedAlpha;
53
+ _ownsSkeletonData = null;
54
+ _atlas = null;
55
+ constructor(skeletonDataFile, atlasFile, scale) {
56
+ super();
57
+ super.init();
58
+ this._premultipliedAlpha = cc._renderType === cc.game.RENDER_TYPE_WEBGL && cc.OPTIMIZE_BLEND_FUNC_FOR_PREMULTIPLIED_ALPHA;
59
+ this.initWithArgs(skeletonDataFile, atlasFile, scale);
60
+ }
61
+ _createRenderCmd() {
62
+ if (cc._renderType === cc.game.RENDER_TYPE_CANVAS)
63
+ return new CanvasRenderCmd(this);
64
+ else
65
+ return new WebGLRenderCmd(this);
66
+ }
67
+ onEnter() {
68
+ super.onEnter();
69
+ this.scheduleUpdate();
70
+ }
71
+ onExit() {
72
+ this.unscheduleUpdate();
73
+ super.onExit();
74
+ }
75
+ /**
76
+ * Sets whether open debug slots.
77
+ * @param {boolean} enable true to open, false to close.
78
+ */
79
+ setDebugSolots(enable) {
80
+ this._debugSlots = enable;
81
+ }
82
+ /**
83
+ * Sets whether open debug bones.
84
+ * @param {boolean} enable
85
+ */
86
+ setDebugBones(enable) {
87
+ this._debugBones = enable;
88
+ }
89
+ /**
90
+ * Sets whether open debug slots.
91
+ * @param {boolean} enabled true to open, false to close.
92
+ */
93
+ setDebugSlotsEnabled(enabled) {
94
+ this._debugSlots = enabled;
95
+ }
96
+ /**
97
+ * Gets whether open debug slots.
98
+ * @returns {boolean} true to open, false to close.
99
+ */
100
+ getDebugSlotsEnabled() {
101
+ return this._debugSlots;
102
+ }
103
+ /**
104
+ * Sets whether open debug bones.
105
+ * @param {boolean} enabled
106
+ */
107
+ setDebugBonesEnabled(enabled) {
108
+ this._debugBones = enabled;
109
+ }
110
+ /**
111
+ * Gets whether open debug bones.
112
+ * @returns {boolean} true to open, false to close.
113
+ */
114
+ getDebugBonesEnabled() {
115
+ return this._debugBones;
116
+ }
117
+ /**
118
+ * Sets the time scale of Skeleton.
119
+ * @param {Number} scale
120
+ */
121
+ setTimeScale(scale) {
122
+ this._timeScale = scale;
123
+ }
124
+ getTimeScale() {
125
+ return this._timeScale;
126
+ }
127
+ /**
128
+ * Initializes Skeleton with Data.
129
+ * @param {.spine.SkeletonData|String} skeletonDataFile
130
+ * @param {String|spine.Atlas|spine.SkeletonData} atlasFile atlas filename or atlas data or owns SkeletonData
131
+ * @param {Number} [scale] scale can be specified on the JSON or binary loader which will scale the bone positions, image sizes, and animation translations.
132
+ */
133
+ initWithArgs(skeletonDataFile, atlasFile, scale) {
134
+ const argSkeletonFile = skeletonDataFile, argAtlasFile = atlasFile;
135
+ let skeletonData, atlas, ownsSkeletonData;
136
+ if (cc.isString(argSkeletonFile)) {
137
+ if (cc.isString(argAtlasFile)) {
138
+ const data = cc.loader.getRes(argAtlasFile);
139
+ _atlasLoader.setAtlasFile(argAtlasFile);
140
+ atlas = new TextureAtlas(data);
141
+ for (const page of atlas.pages) {
142
+ const texture = _atlasLoader.load(page.name);
143
+ page.setTexture(texture);
144
+ }
145
+ }
146
+ scale = scale || 1 / cc.director.getContentScaleFactor();
147
+ const attachmentLoader = new AtlasAttachmentLoader(atlas);
148
+ const skeletonJsonReader = new SkeletonJson(attachmentLoader);
149
+ skeletonJsonReader.scale = scale;
150
+ const skeletonJson = cc.loader.getRes(argSkeletonFile);
151
+ skeletonData = skeletonJsonReader.readSkeletonData(skeletonJson);
152
+ atlas.dispose(skeletonJsonReader);
153
+ ownsSkeletonData = true;
154
+ }
155
+ else {
156
+ skeletonData = skeletonDataFile;
157
+ ownsSkeletonData = atlasFile;
158
+ }
159
+ this.setSkeletonData(skeletonData, ownsSkeletonData);
160
+ this.init();
161
+ }
162
+ /**
163
+ * Returns the bounding box of Skeleton.
164
+ * @returns {cc.Rect}
165
+ */
166
+ getBoundingBox() {
167
+ let minX = cc.FLT_MAX, minY = cc.FLT_MAX, maxX = cc.FLT_MIN, maxY = cc.FLT_MIN;
168
+ const scaleX = this.getScaleX(), scaleY = this.getScaleY(), slots = this._skeleton.slots, VERTEX = spine.RegionAttachment;
169
+ let vertices;
170
+ for (let i = 0, slotCount = slots.length; i < slotCount; ++i) {
171
+ const slot = slots[i];
172
+ const attachment = slot.attachment;
173
+ if (!attachment || !(attachment instanceof spine.RegionAttachment))
174
+ continue;
175
+ vertices = spine.Utils.setArraySize([], 8, 0);
176
+ attachment.computeWorldVertices(slot, vertices, 0, 2);
177
+ minX = Math.min(minX, vertices[VERTEX.X1] * scaleX, vertices[VERTEX.X4] * scaleX, vertices[VERTEX.X2] * scaleX, vertices[VERTEX.X3] * scaleX);
178
+ minY = Math.min(minY, vertices[VERTEX.Y1] * scaleY, vertices[VERTEX.Y4] * scaleY, vertices[VERTEX.Y2] * scaleY, vertices[VERTEX.Y3] * scaleY);
179
+ maxX = Math.max(maxX, vertices[VERTEX.X1] * scaleX, vertices[VERTEX.X4] * scaleX, vertices[VERTEX.X2] * scaleX, vertices[VERTEX.X3] * scaleX);
180
+ maxY = Math.max(maxY, vertices[VERTEX.Y1] * scaleY, vertices[VERTEX.Y4] * scaleY, vertices[VERTEX.Y2] * scaleY, vertices[VERTEX.Y3] * scaleY);
181
+ }
182
+ const position = this.getPosition();
183
+ return cc.rect(position.x + minX, position.y + minY, maxX - minX, maxY - minY);
184
+ }
185
+ /**
186
+ * Computes the world SRT from the local SRT for each bone.
187
+ */
188
+ updateWorldTransform() {
189
+ this._skeleton.updateWorldTransform(true);
190
+ }
191
+ /**
192
+ * Sets the bones and slots to the setup pose.
193
+ */
194
+ setToSetupPose() {
195
+ this._skeleton.setToSetupPose();
196
+ }
197
+ /**
198
+ * Sets the bones to the setup pose, using the values from the `BoneData` list in the `SkeletonData`.
199
+ */
200
+ setBonesToSetupPose() {
201
+ this._skeleton.setBonesToSetupPose();
202
+ }
203
+ /**
204
+ * Sets the slots to the setup pose, using the values from the `SlotData` list in the `SkeletonData`.
205
+ */
206
+ setSlotsToSetupPose() {
207
+ this._skeleton.setSlotsToSetupPose();
208
+ }
209
+ /**
210
+ * Finds a bone by name. This does a string comparison for every bone.
211
+ * @param {String} boneName
212
+ * @returns {.spine.Bone}
213
+ */
214
+ findBone(boneName) {
215
+ return this._skeleton.findBone(boneName);
216
+ }
217
+ /**
218
+ * Finds a slot by name. This does a string comparison for every slot.
219
+ * @param {String} slotName
220
+ * @returns {.spine.Slot}
221
+ */
222
+ findSlot(slotName) {
223
+ return this._skeleton.findSlot(slotName);
224
+ }
225
+ /**
226
+ * Finds a skin by name and makes it the active skin. This does a string comparison for every skin. Note that setting the skin does not change which attachments are visible.
227
+ * @param {string} skinName
228
+ * @returns {.spine.Skin}
229
+ */
230
+ setSkin(skinName) {
231
+ return this._skeleton.setSkinByName(skinName);
232
+ }
233
+ /**
234
+ * Returns the attachment for the slot and attachment name. The skeleton looks first in its skin, then in the skeleton data’s default skin.
235
+ * @param {String} slotName
236
+ * @param {String} attachmentName
237
+ * @returns {.spine.Attachment}
238
+ */
239
+ getAttachment(slotName, attachmentName) {
240
+ return this._skeleton.getAttachmentByName(slotName, attachmentName);
241
+ }
242
+ /**
243
+ * Sets the attachment for the slot and attachment name. The skeleton looks first in its skin, then in the skeleton data’s default skin.
244
+ * @param {String} slotName
245
+ * @param {String} attachmentName
246
+ */
247
+ setAttachment(slotName, attachmentName) {
248
+ this._skeleton.setAttachment(slotName, attachmentName);
249
+ }
250
+ /**
251
+ * Sets the premultiplied alpha value to Skeleton.
252
+ * @param {Number} alpha
253
+ */
254
+ setPremultipliedAlpha(premultiplied) {
255
+ this._premultipliedAlpha = premultiplied;
256
+ }
257
+ /**
258
+ * Returns whether to enable premultiplied alpha.
259
+ * @returns {boolean}
260
+ */
261
+ isPremultipliedAlpha() {
262
+ return this._premultipliedAlpha;
263
+ }
264
+ /**
265
+ * Sets skeleton data to Skeleton.
266
+ * @param {.spine.SkeletonData} skeletonData
267
+ * @param {.spine.SkeletonData} ownsSkeletonData
268
+ */
269
+ setSkeletonData(skeletonData, ownsSkeletonData) {
270
+ if (skeletonData.width != null && skeletonData.height != null)
271
+ this.setContentSize(skeletonData.width / cc.director.getContentScaleFactor(), skeletonData.height / cc.director.getContentScaleFactor());
272
+ this._skeleton = new spine.Skeleton(skeletonData);
273
+ this._skeleton.updateWorldTransform(true);
274
+ this._rootBone = this._skeleton.getRootBone();
275
+ this._ownsSkeletonData = ownsSkeletonData;
276
+ this._renderCmd._createChildFormSkeletonData();
277
+ }
278
+ /**
279
+ * Return the renderer of attachment.
280
+ * @param {.spine.RegionAttachment|.spine.BoundingBoxAttachment} regionAttachment
281
+ * @returns {.spine.TextureAtlasRegion}
282
+ */
283
+ getTextureAtlas(regionAttachment) {
284
+ return regionAttachment.region;
285
+ }
286
+ /**
287
+ * Returns the blendFunc of Skeleton.
288
+ * @returns {cc.BlendFunc}
289
+ */
290
+ getBlendFunc() {
291
+ const slot = this._skeleton.drawOrder[0];
292
+ if (slot) {
293
+ const blend = this._renderCmd._getBlendFunc(slot.data.blendMode, this._premultipliedAlpha);
294
+ return blend;
295
+ }
296
+ else {
297
+ return {};
298
+ }
299
+ }
300
+ setBlendFunc() {
301
+ return;
302
+ }
303
+ /**
304
+ * Update will be called automatically every frame if "scheduleUpdate" is called when the node is "live".
305
+ * @param {Number} dt Delta time since last update
306
+ */
307
+ update(dt) {
308
+ this._skeleton.update(dt);
309
+ }
310
+ // Static create method
311
+ static create(skeletonDataFile, atlasFile, scale) {
312
+ return new Skeleton(skeletonDataFile, atlasFile, scale);
313
+ }
314
+ }
315
+ cc.defineGetterSetter(Skeleton.prototype, 'opacityModifyRGB', Skeleton.prototype.isOpacityModifyRGB);
316
+ // For renderer webgl to identify skeleton's default texture and blend function
317
+ cc.defineGetterSetter(Skeleton.prototype, '_blendFunc', Skeleton.prototype.getBlendFunc);
318
+ cc.defineGetterSetter(Skeleton.prototype, '_texture', function () {
319
+ return this._renderCmd._currTexture;
320
+ });
@@ -0,0 +1,146 @@
1
+ import { Skeleton } from './CCSkeleton';
2
+ /****************************************************************************
3
+ Copyright (c) 2011-2012 cocos2d-x.org
4
+ Copyright (c) 2013-2014 Chukong Technologies Inc.
5
+ Copyright (c) 2014 Shengxiang Chen (Nero Chan)
6
+
7
+ http://www.cocos2d-x.org
8
+
9
+ Permission is hereby granted, free of charge, to any person obtaining a copy
10
+ of this software and associated documentation files (the "Software"), to deal
11
+ in the Software without restriction, including without limitation the rights
12
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
13
+ copies of the Software, and to permit persons to whom the Software is
14
+ furnished to do so, subject to the following conditions:
15
+
16
+ The above copyright notice and this permission notice shall be included in
17
+ all copies or substantial portions of the Software.
18
+
19
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
20
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
21
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
22
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
23
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
24
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
25
+ THE SOFTWARE.
26
+ ****************************************************************************/
27
+ export declare const _atlasLoader: {
28
+ spAtlasFile: any;
29
+ setAtlasFile: (spAtlasFile: any) => void;
30
+ load: (line: any) => any;
31
+ unload: () => void;
32
+ };
33
+ /**
34
+ * The skeleton animation of spine. It updates animation's state and skeleton's world transform.
35
+ * @class
36
+ * @extends Skeleton
37
+ */
38
+ export declare class SkeletonAnimation extends Skeleton {
39
+ _state: any;
40
+ _ownsAnimationStateData: boolean;
41
+ _listener: any;
42
+ constructor(skeletonDataFile?: any, atlasFile?: any, scale?: number);
43
+ /**
44
+ * Sets animation state data to SkeletonAnimation.
45
+ * @param {spine.AnimationStateData} stateData
46
+ */
47
+ setAnimationStateData(stateData: any): void;
48
+ /**
49
+ * Mix applies all keyframe values, interpolated for the specified time and mixed with the current values.
50
+ * @param {String} fromAnimation
51
+ * @param {String} toAnimation
52
+ * @param {Number} duration
53
+ */
54
+ setMix(fromAnimation: string, toAnimation: string, duration: number): void;
55
+ /**
56
+ * Sets event listener of SkeletonAnimation.
57
+ * @param {Object} target
58
+ * @param {Function} callback
59
+ */
60
+ setAnimationListener(target: any, callback: any): void;
61
+ /**
62
+ * Set the current animation. Any queued animations are cleared.
63
+ * @param {Number} trackIndex
64
+ * @param {String} name
65
+ * @param {Boolean} loop
66
+ * @returns {spine.TrackEntry|null}
67
+ */
68
+ setAnimation(trackIndex: number, name: string, loop: boolean): any;
69
+ /**
70
+ * Adds an animation to be played delay seconds after the current or last queued animation.
71
+ * @param {Number} trackIndex
72
+ * @param {String} name
73
+ * @param {Boolean} loop
74
+ * @param {Number} [delay=0]
75
+ * @returns {spine.TrackEntry|null}
76
+ */
77
+ addAnimation(trackIndex: number, name: string, loop: boolean, delay?: number): any;
78
+ /**
79
+ * Find animation with specified name
80
+ * @param {String} name
81
+ * @returns {spine.Animation|null}
82
+ */
83
+ findAnimation(name: string): any;
84
+ /**
85
+ * Returns track entry by trackIndex.
86
+ * @param trackIndex
87
+ * @returns {spine.TrackEntry|null}
88
+ */
89
+ getCurrent(trackIndex: number): any;
90
+ /**
91
+ * Clears all tracks of animation state.
92
+ */
93
+ clearTracks(): void;
94
+ /**
95
+ * Clears track of animation state by trackIndex.
96
+ * @param {Number} trackIndex
97
+ */
98
+ clearTrack(trackIndex: number): void;
99
+ /**
100
+ * Update will be called automatically every frame if "scheduleUpdate" is called when the node is "live".
101
+ * It updates animation's state and skeleton's world transform.
102
+ * @param {Number} dt Delta time since last update
103
+ * @override
104
+ */
105
+ update(dt: number): void;
106
+ /**
107
+ * Set the start event listener.
108
+ * @param {function} listener
109
+ */
110
+ setStartListener(listener: any): void;
111
+ /**
112
+ * Set the interrupt listener
113
+ * @param {function} listener
114
+ */
115
+ setInterruptListener(listener: any): void;
116
+ /**
117
+ * Set the end event listener.
118
+ * @param {function} listener
119
+ */
120
+ setEndListener(listener: any): void;
121
+ /**
122
+ * Set the dispose listener
123
+ * @param {function} listener
124
+ */
125
+ setDisposeListener(listener: any): void;
126
+ setCompleteListener(listener: any): void;
127
+ setEventListener(listener: any): void;
128
+ setTrackStartListener(entry: any, listener: any): void;
129
+ setTrackInterruptListener(entry: any, listener: any): void;
130
+ setTrackEndListener(entry: any, listener: any): void;
131
+ setTrackDisposeListener(entry: any, listener: any): void;
132
+ setTrackCompleteListener(entry: any, listener: any): void;
133
+ setTrackEventListener(entry: any, listener: any): void;
134
+ getState(): any;
135
+ /**
136
+ * Creates a skeleton animation object.
137
+ * @deprecated since v3.0, please use new SkeletonAnimation(skeletonDataFile, atlasFile, scale) instead.
138
+ * @param {spine.SkeletonData|String} skeletonDataFile
139
+ * @param {String|spine.Atlas|spine.SkeletonData} atlasFile atlas filename or atlas data or owns SkeletonData
140
+ * @param {Number} [scale]
141
+ * @returns {SkeletonAnimation}
142
+ */
143
+ static createWithJsonFile(skeletonDataFile: any, atlasFile: any, scale?: number): SkeletonAnimation;
144
+ static create(skeletonDataFile: any, atlasFile: any, scale?: number): SkeletonAnimation;
145
+ }
146
+ //# sourceMappingURL=CCSkeletonAnimation.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"CCSkeletonAnimation.d.ts","sourceRoot":"","sources":["../../src/spine/CCSkeletonAnimation.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAA;AAEvC;;;;;;;;;;;;;;;;;;;;;;;;8EAwB8E;AAE9E,eAAO,MAAM,YAAY;;;;;CAaxB,CAAA;AAkGD;;;;GAIG;AACH,qBAAa,iBAAkB,SAAQ,QAAQ;IAC7C,MAAM,EAAE,GAAG,CAAO;IAClB,uBAAuB,UAAQ;IAC/B,SAAS,EAAE,GAAG,CAAO;gBAET,gBAAgB,CAAC,EAAE,GAAG,EAAE,SAAS,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM;IAMnE;;;OAGG;IACH,qBAAqB,CAAC,SAAS,EAAE,GAAG;IAOpC;;;;;OAKG;IACH,MAAM,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAInE;;;;OAIG;IACH,oBAAoB,CAAC,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAM/C;;;;;;OAMG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO;IAS5D;;;;;;;OAOG;IACH,YAAY,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,CAAC,EAAE,MAAM;IAU5E;;;;OAIG;IACH,aAAa,CAAC,IAAI,EAAE,MAAM;IAI1B;;;;OAIG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B;;OAEG;IACH,WAAW;IAIX;;;OAGG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM;IAI7B;;;;;OAKG;IACH,MAAM,CAAC,EAAE,EAAE,MAAM;IAUjB;;;OAGG;IACH,gBAAgB,CAAC,QAAQ,EAAE,GAAG;IAI9B;;;OAGG;IACH,oBAAoB,CAAC,QAAQ,EAAE,GAAG;IAIlC;;;OAGG;IACH,cAAc,CAAC,QAAQ,EAAE,GAAG;IAI5B;;;OAGG;IACH,kBAAkB,CAAC,QAAQ,EAAE,GAAG;IAIhC,mBAAmB,CAAC,QAAQ,EAAE,GAAG;IAIjC,gBAAgB,CAAC,QAAQ,EAAE,GAAG;IAI9B,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAI/C,yBAAyB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAInD,mBAAmB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAI7C,uBAAuB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAIjD,wBAAwB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAIlD,qBAAqB,CAAC,KAAK,EAAE,GAAG,EAAE,QAAQ,EAAE,GAAG;IAI/C,QAAQ;IAIR;;;;;;;OAOG;IACH,MAAM,CAAC,kBAAkB,CAAC,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM;IAI/E,MAAM,CAAC,MAAM,CAAC,gBAAgB,EAAE,GAAG,EAAE,SAAS,EAAE,GAAG,EAAE,KAAK,CAAC,EAAE,MAAM;CAGpE"}