@eva/plugin-renderer-sprite-animation 1.3.0-alpha.1 → 2.0.0-beta.0

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 (243) hide show
  1. package/dist/EVA.plugin.renderer.spriteAnimation.js +127 -201
  2. package/dist/EVA.plugin.renderer.spriteAnimation.min.js +1 -1
  3. package/dist/packages/eva.js/lib/core/Component.d.ts +35 -0
  4. package/dist/packages/eva.js/lib/core/Component.d.ts.map +1 -0
  5. package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts +22 -0
  6. package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts.map +1 -0
  7. package/dist/packages/eva.js/lib/core/GameObject.d.ts +31 -0
  8. package/dist/packages/eva.js/lib/core/GameObject.d.ts.map +1 -0
  9. package/dist/packages/eva.js/lib/core/System.d.ts +30 -0
  10. package/dist/packages/eva.js/lib/core/System.d.ts.map +1 -0
  11. package/dist/packages/eva.js/lib/core/Transform.d.ts +51 -0
  12. package/dist/packages/eva.js/lib/core/Transform.d.ts.map +1 -0
  13. package/dist/packages/eva.js/lib/core/observer.d.ts +23 -0
  14. package/dist/packages/eva.js/lib/core/observer.d.ts.map +1 -0
  15. package/dist/packages/eva.js/lib/decorators/ide.d.ts +2 -0
  16. package/dist/packages/eva.js/lib/decorators/ide.d.ts.map +1 -0
  17. package/dist/packages/eva.js/lib/decorators/system.d.ts +11 -0
  18. package/dist/packages/eva.js/lib/decorators/system.d.ts.map +1 -0
  19. package/dist/packages/eva.js/lib/game/Game.d.ts +72 -0
  20. package/dist/packages/eva.js/lib/game/Game.d.ts.map +1 -0
  21. package/dist/packages/eva.js/lib/game/Scene.d.ts +12 -0
  22. package/dist/packages/eva.js/lib/game/Scene.d.ts.map +1 -0
  23. package/dist/packages/eva.js/lib/game/Ticker.d.ts +25 -0
  24. package/dist/packages/eva.js/lib/game/Ticker.d.ts.map +1 -0
  25. package/dist/packages/eva.js/lib/index.d.ts +26 -0
  26. package/dist/packages/eva.js/lib/index.d.ts.map +1 -0
  27. package/dist/packages/eva.js/lib/loader/Progress.d.ts +21 -0
  28. package/dist/packages/eva.js/lib/loader/Progress.d.ts.map +1 -0
  29. package/dist/packages/eva.js/lib/loader/Resource.d.ts +99 -0
  30. package/dist/packages/eva.js/lib/loader/Resource.d.ts.map +1 -0
  31. package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts +14 -0
  32. package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts.map +1 -0
  33. package/dist/packages/eva.js/lib/timeline/index.d.ts +40 -0
  34. package/dist/packages/eva.js/lib/timeline/index.d.ts.map +1 -0
  35. package/dist/packages/eva.js/lib/timeline/utils.d.ts +2 -0
  36. package/dist/packages/eva.js/lib/timeline/utils.d.ts.map +1 -0
  37. package/dist/packages/plugin-a11y/lib/A11y.d.ts +26 -0
  38. package/dist/packages/plugin-a11y/lib/A11y.d.ts.map +1 -0
  39. package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts +54 -0
  40. package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts.map +1 -0
  41. package/dist/packages/plugin-a11y/lib/constant.d.ts +34 -0
  42. package/dist/packages/plugin-a11y/lib/constant.d.ts.map +1 -0
  43. package/dist/packages/plugin-a11y/lib/index.d.ts +4 -0
  44. package/dist/packages/plugin-a11y/lib/index.d.ts.map +1 -0
  45. package/dist/packages/plugin-a11y/lib/utils.d.ts +6 -0
  46. package/dist/packages/plugin-a11y/lib/utils.d.ts.map +1 -0
  47. package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts +20 -0
  48. package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts.map +1 -0
  49. package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts +33 -0
  50. package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts.map +1 -0
  51. package/dist/packages/plugin-evax/lib/index.d.ts +10 -0
  52. package/dist/packages/plugin-evax/lib/index.d.ts.map +1 -0
  53. package/dist/packages/plugin-evax/lib/utils.d.ts +3 -0
  54. package/dist/packages/plugin-evax/lib/utils.d.ts.map +1 -0
  55. package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts +31 -0
  56. package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts.map +1 -0
  57. package/dist/packages/plugin-matterjs/lib/Physics.d.ts +32 -0
  58. package/dist/packages/plugin-matterjs/lib/Physics.d.ts.map +1 -0
  59. package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts +35 -0
  60. package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts.map +1 -0
  61. package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts +32 -0
  62. package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts.map +1 -0
  63. package/dist/packages/plugin-matterjs/lib/index.d.ts +5 -0
  64. package/dist/packages/plugin-matterjs/lib/index.d.ts.map +1 -0
  65. package/dist/packages/plugin-matterjs/lib/matter.d.ts +3 -0
  66. package/dist/packages/plugin-matterjs/lib/matter.d.ts.map +1 -0
  67. package/dist/packages/plugin-renderer/lib/Renderer.d.ts +19 -0
  68. package/dist/packages/plugin-renderer/lib/Renderer.d.ts.map +1 -0
  69. package/dist/packages/plugin-renderer/lib/System.d.ts +40 -0
  70. package/dist/packages/plugin-renderer/lib/System.d.ts.map +1 -0
  71. package/dist/packages/plugin-renderer/lib/Transform.d.ts +28 -0
  72. package/dist/packages/plugin-renderer/lib/Transform.d.ts.map +1 -0
  73. package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts +20 -0
  74. package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts.map +1 -0
  75. package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts +2 -0
  76. package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts.map +1 -0
  77. package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts +7 -0
  78. package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts.map +1 -0
  79. package/dist/packages/plugin-renderer/lib/index.d.ts +8 -0
  80. package/dist/packages/plugin-renderer/lib/index.d.ts.map +1 -0
  81. package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts +18 -0
  82. package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts.map +1 -0
  83. package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts +17 -0
  84. package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts.map +1 -0
  85. package/dist/packages/plugin-renderer/lib/mixin.d.ts +2 -0
  86. package/dist/packages/plugin-renderer/lib/mixin.d.ts.map +1 -0
  87. package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts +26 -0
  88. package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts.map +1 -0
  89. package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts +3 -0
  90. package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts.map +1 -0
  91. package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts +10 -0
  92. package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts.map +1 -0
  93. package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts +4 -0
  94. package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts.map +1 -0
  95. package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts +24 -0
  96. package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts.map +1 -0
  97. package/dist/packages/plugin-renderer-event/lib/component.d.ts +52 -0
  98. package/dist/packages/plugin-renderer-event/lib/component.d.ts.map +1 -0
  99. package/dist/packages/plugin-renderer-event/lib/index.d.ts +5 -0
  100. package/dist/packages/plugin-renderer-event/lib/index.d.ts.map +1 -0
  101. package/dist/packages/plugin-renderer-event/lib/system.d.ts +19 -0
  102. package/dist/packages/plugin-renderer-event/lib/system.d.ts.map +1 -0
  103. package/dist/packages/plugin-renderer-graphics/lib/component.d.ts +8 -0
  104. package/dist/packages/plugin-renderer-graphics/lib/component.d.ts.map +1 -0
  105. package/dist/packages/plugin-renderer-graphics/lib/index.d.ts +4 -0
  106. package/dist/packages/plugin-renderer-graphics/lib/index.d.ts.map +1 -0
  107. package/dist/packages/plugin-renderer-graphics/lib/system.d.ts +12 -0
  108. package/dist/packages/plugin-renderer-graphics/lib/system.d.ts.map +1 -0
  109. package/dist/packages/plugin-renderer-img/lib/component.d.ts +10 -0
  110. package/dist/packages/plugin-renderer-img/lib/component.d.ts.map +1 -0
  111. package/dist/packages/plugin-renderer-img/lib/index.d.ts +4 -0
  112. package/dist/packages/plugin-renderer-img/lib/index.d.ts.map +1 -0
  113. package/dist/packages/plugin-renderer-img/lib/system.d.ts +18 -0
  114. package/dist/packages/plugin-renderer-img/lib/system.d.ts.map +1 -0
  115. package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts +27 -0
  116. package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts.map +1 -0
  117. package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts +18 -0
  118. package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts.map +1 -0
  119. package/dist/packages/plugin-renderer-lottie/lib/index.d.ts +3 -0
  120. package/dist/packages/plugin-renderer-lottie/lib/index.d.ts.map +1 -0
  121. package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts +180 -0
  122. package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts.map +1 -0
  123. package/dist/packages/plugin-renderer-lottie/lib/types.d.ts +18 -0
  124. package/dist/packages/plugin-renderer-lottie/lib/types.d.ts.map +1 -0
  125. package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts +2 -0
  126. package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts.map +1 -0
  127. package/dist/packages/plugin-renderer-mask/lib/component.d.ts +33 -0
  128. package/dist/packages/plugin-renderer-mask/lib/component.d.ts.map +1 -0
  129. package/dist/packages/plugin-renderer-mask/lib/index.d.ts +4 -0
  130. package/dist/packages/plugin-renderer-mask/lib/index.d.ts.map +1 -0
  131. package/dist/packages/plugin-renderer-mask/lib/system.d.ts +31 -0
  132. package/dist/packages/plugin-renderer-mask/lib/system.d.ts.map +1 -0
  133. package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts +22 -0
  134. package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts.map +1 -0
  135. package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts +4 -0
  136. package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts.map +1 -0
  137. package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts +19 -0
  138. package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts.map +1 -0
  139. package/dist/packages/plugin-renderer-render/lib/component.d.ts +17 -0
  140. package/dist/packages/plugin-renderer-render/lib/component.d.ts.map +1 -0
  141. package/dist/packages/plugin-renderer-render/lib/index.d.ts +4 -0
  142. package/dist/packages/plugin-renderer-render/lib/index.d.ts.map +1 -0
  143. package/dist/packages/plugin-renderer-render/lib/system.d.ts +17 -0
  144. package/dist/packages/plugin-renderer-render/lib/system.d.ts.map +1 -0
  145. package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts +4 -0
  146. package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts.map +1 -0
  147. package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts +5 -0
  148. package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts.map +1 -0
  149. package/dist/packages/plugin-renderer-spine/lib/index.d.ts +4 -0
  150. package/dist/packages/plugin-renderer-spine/lib/index.d.ts.map +1 -0
  151. package/dist/packages/plugin-renderer-sprite/lib/component.d.ts +12 -0
  152. package/dist/packages/plugin-renderer-sprite/lib/component.d.ts.map +1 -0
  153. package/dist/packages/plugin-renderer-sprite/lib/index.d.ts +4 -0
  154. package/dist/packages/plugin-renderer-sprite/lib/index.d.ts.map +1 -0
  155. package/dist/packages/plugin-renderer-sprite/lib/system.d.ts +17 -0
  156. package/dist/packages/plugin-renderer-sprite/lib/system.d.ts.map +1 -0
  157. package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts +31 -0
  158. package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts.map +1 -0
  159. package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts +4 -0
  160. package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts.map +1 -0
  161. package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts +31 -0
  162. package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts.map +1 -0
  163. package/dist/packages/plugin-renderer-test/lib/component.d.ts +20 -0
  164. package/dist/packages/plugin-renderer-test/lib/component.d.ts.map +1 -0
  165. package/dist/packages/plugin-renderer-test/lib/index.d.ts +4 -0
  166. package/dist/packages/plugin-renderer-test/lib/index.d.ts.map +1 -0
  167. package/dist/packages/plugin-renderer-test/lib/system.d.ts +21 -0
  168. package/dist/packages/plugin-renderer-test/lib/system.d.ts.map +1 -0
  169. package/dist/packages/plugin-renderer-test/lib/system2.d.ts +12 -0
  170. package/dist/packages/plugin-renderer-test/lib/system2.d.ts.map +1 -0
  171. package/dist/packages/plugin-renderer-text/lib/component.d.ts +43 -0
  172. package/dist/packages/plugin-renderer-text/lib/component.d.ts.map +1 -0
  173. package/dist/packages/plugin-renderer-text/lib/index.d.ts +4 -0
  174. package/dist/packages/plugin-renderer-text/lib/index.d.ts.map +1 -0
  175. package/dist/packages/plugin-renderer-text/lib/system.d.ts +22 -0
  176. package/dist/packages/plugin-renderer-text/lib/system.d.ts.map +1 -0
  177. package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts +20 -0
  178. package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts.map +1 -0
  179. package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts +4 -0
  180. package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts.map +1 -0
  181. package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts +18 -0
  182. package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts.map +1 -0
  183. package/dist/packages/plugin-sound/lib/Sound.d.ts +44 -0
  184. package/dist/packages/plugin-sound/lib/Sound.d.ts.map +1 -0
  185. package/dist/packages/plugin-sound/lib/SoundSystem.d.ts +37 -0
  186. package/dist/packages/plugin-sound/lib/SoundSystem.d.ts.map +1 -0
  187. package/dist/packages/plugin-sound/lib/index.d.ts +3 -0
  188. package/dist/packages/plugin-sound/lib/index.d.ts.map +1 -0
  189. package/dist/packages/plugin-stats/lib/Stats.d.ts +19 -0
  190. package/dist/packages/plugin-stats/lib/Stats.d.ts.map +1 -0
  191. package/dist/packages/plugin-stats/lib/StatsComponent.d.ts +7 -0
  192. package/dist/packages/plugin-stats/lib/StatsComponent.d.ts.map +1 -0
  193. package/dist/packages/plugin-stats/lib/StatsSystem.d.ts +28 -0
  194. package/dist/packages/plugin-stats/lib/StatsSystem.d.ts.map +1 -0
  195. package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts +18 -0
  196. package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts.map +1 -0
  197. package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts +11 -0
  198. package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts.map +1 -0
  199. package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts +16 -0
  200. package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts.map +1 -0
  201. package/dist/packages/plugin-stats/lib/index.d.ts +9 -0
  202. package/dist/packages/plugin-stats/lib/index.d.ts.map +1 -0
  203. package/dist/packages/plugin-transition/lib/Animation.d.ts +38 -0
  204. package/dist/packages/plugin-transition/lib/Animation.d.ts.map +1 -0
  205. package/dist/packages/plugin-transition/lib/component.d.ts +35 -0
  206. package/dist/packages/plugin-transition/lib/component.d.ts.map +1 -0
  207. package/dist/packages/plugin-transition/lib/index.d.ts +3 -0
  208. package/dist/packages/plugin-transition/lib/index.d.ts.map +1 -0
  209. package/dist/packages/plugin-transition/lib/system.d.ts +6 -0
  210. package/dist/packages/plugin-transition/lib/system.d.ts.map +1 -0
  211. package/dist/packages/renderer-adapter/lib/Application.d.ts +3 -0
  212. package/dist/packages/renderer-adapter/lib/Application.d.ts.map +1 -0
  213. package/dist/packages/renderer-adapter/lib/Container.d.ts +5 -0
  214. package/dist/packages/renderer-adapter/lib/Container.d.ts.map +1 -0
  215. package/dist/packages/renderer-adapter/lib/Graphics.d.ts +5 -0
  216. package/dist/packages/renderer-adapter/lib/Graphics.d.ts.map +1 -0
  217. package/dist/packages/renderer-adapter/lib/NinePatch.d.ts +5 -0
  218. package/dist/packages/renderer-adapter/lib/NinePatch.d.ts.map +1 -0
  219. package/dist/packages/renderer-adapter/lib/Sprite.d.ts +9 -0
  220. package/dist/packages/renderer-adapter/lib/Sprite.d.ts.map +1 -0
  221. package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts +14 -0
  222. package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts.map +1 -0
  223. package/dist/packages/renderer-adapter/lib/Text.d.ts +6 -0
  224. package/dist/packages/renderer-adapter/lib/Text.d.ts.map +1 -0
  225. package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts +9 -0
  226. package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts.map +1 -0
  227. package/dist/packages/renderer-adapter/lib/index.d.ts +9 -0
  228. package/dist/packages/renderer-adapter/lib/index.d.ts.map +1 -0
  229. package/dist/packages/spine-base/lib/Spine.d.ts +32 -0
  230. package/dist/packages/spine-base/lib/Spine.d.ts.map +1 -0
  231. package/dist/packages/spine-base/lib/SpineData.d.ts +5 -0
  232. package/dist/packages/spine-base/lib/SpineData.d.ts.map +1 -0
  233. package/dist/packages/spine-base/lib/SpineSystem.d.ts +20 -0
  234. package/dist/packages/spine-base/lib/SpineSystem.d.ts.map +1 -0
  235. package/dist/packages/spine-base/lib/TexCache.d.ts +10 -0
  236. package/dist/packages/spine-base/lib/TexCache.d.ts.map +1 -0
  237. package/dist/packages/spine-base/lib/index.d.ts +4 -0
  238. package/dist/packages/spine-base/lib/index.d.ts.map +1 -0
  239. package/dist/plugin-renderer-sprite-animation.cjs.js +49 -7
  240. package/dist/plugin-renderer-sprite-animation.cjs.prod.js +1 -1
  241. package/dist/plugin-renderer-sprite-animation.esm.js +50 -8
  242. package/package.json +5 -5
  243. package/dist/plugin-renderer-sprite-animation.d.ts +0 -63
@@ -99,10 +99,12 @@ var SpriteAnimation$2 = (function (_super) {
99
99
  _this.resource = '';
100
100
  _this.autoPlay = true;
101
101
  _this.speed = 100;
102
+ _this.forwards = false;
102
103
  _this.waitPlay = false;
103
104
  _this.waitStop = false;
104
105
  _this.times = Infinity;
105
106
  _this.count = 0;
107
+ _this.complete = false;
106
108
  return _this;
107
109
  }
108
110
  SpriteAnimation.prototype.init = function (obj) {
@@ -110,7 +112,13 @@ var SpriteAnimation$2 = (function (_super) {
110
112
  obj && Object.assign(this, obj);
111
113
  this.on('loop', function () {
112
114
  if (++_this.count >= _this.times) {
113
- _this.animate.stop();
115
+ if (_this.forwards) {
116
+ _this.gotoAndStop(_this.totalFrames - 1);
117
+ }
118
+ else {
119
+ _this.animate.stop();
120
+ }
121
+ _this.complete = true;
114
122
  _this.emit('complete');
115
123
  }
116
124
  });
@@ -125,8 +133,12 @@ var SpriteAnimation$2 = (function (_super) {
125
133
  this.waitPlay = true;
126
134
  }
127
135
  else {
136
+ if (this.complete) {
137
+ this.gotoAndStop(0);
138
+ }
128
139
  this.animate.play();
129
140
  this.count = 0;
141
+ this.complete = false;
130
142
  }
131
143
  };
132
144
  SpriteAnimation.prototype.stop = function () {
@@ -161,6 +173,22 @@ var SpriteAnimation$2 = (function (_super) {
161
173
  SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
162
174
  this.animate.gotoAndStop(frameNumber);
163
175
  };
176
+ Object.defineProperty(SpriteAnimation.prototype, "currentFrame", {
177
+ get: function () {
178
+ var _a, _b;
179
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.currentFrame;
180
+ },
181
+ enumerable: false,
182
+ configurable: true
183
+ });
184
+ Object.defineProperty(SpriteAnimation.prototype, "totalFrames", {
185
+ get: function () {
186
+ var _a, _b;
187
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.totalFrames;
188
+ },
189
+ enumerable: false,
190
+ configurable: true
191
+ });
164
192
  SpriteAnimation.componentName = 'SpriteAnimation';
165
193
  __decorate([
166
194
  inspectorDecorator.type('string')
@@ -172,6 +200,9 @@ var SpriteAnimation$2 = (function (_super) {
172
200
  inspectorDecorator.type('number'),
173
201
  inspectorDecorator.step(10)
174
202
  ], SpriteAnimation.prototype, "speed", void 0);
203
+ __decorate([
204
+ inspectorDecorator.type('boolean')
205
+ ], SpriteAnimation.prototype, "forwards", void 0);
175
206
  return SpriteAnimation;
176
207
  }(eva_js.Component));
177
208
  var SpriteAnimation$3 = SpriteAnimation$2;
@@ -181,8 +212,8 @@ eva_js.resource.registerInstance(eva_js.RESOURCE_TYPE.SPRITE_ANIMATION, function
181
212
  var name = _a.name, data = _a.data;
182
213
  return new Promise(function (r) {
183
214
  var e_1, _a;
184
- var textureObj = data.json;
185
- var texture = pixi_js.BaseTexture.from(data.image);
215
+ var textureObj = data.json.data;
216
+ var texture = data.image instanceof pixi_js.Texture ? data.image : pixi_js.Texture.from(data.image);
186
217
  var frames = textureObj.frames || {};
187
218
  var animations = textureObj.animations || {};
188
219
  var newFrames = {};
@@ -212,7 +243,7 @@ eva_js.resource.registerInstance(eva_js.RESOURCE_TYPE.SPRITE_ANIMATION, function
212
243
  }
213
244
  textureObj.frames = newFrames;
214
245
  var spriteSheet = new pixi_js.Spritesheet(texture, textureObj);
215
- spriteSheet.parse(function () {
246
+ spriteSheet.parse().then(function () {
216
247
  var textures = spriteSheet.textures;
217
248
  var spriteFrames = [];
218
249
  for (var key in textures) {
@@ -263,17 +294,21 @@ var SpriteAnimation = (function (_super) {
263
294
  };
264
295
  SpriteAnimation.prototype.componentChanged = function (changed) {
265
296
  return __awaiter(this, void 0, void 0, function () {
266
- var component, frames_1, frames_2;
297
+ var gameObjectId, component, asyncId, frames_1, asyncId, frames_2;
267
298
  return __generator(this, function (_a) {
268
299
  switch (_a.label) {
269
300
  case 0:
301
+ gameObjectId = changed.gameObject.id;
270
302
  if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
271
303
  component = changed.component;
272
304
  this.autoPlay[changed.gameObject.id] = component.autoPlay;
273
305
  if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
306
+ asyncId = this.increaseAsyncId(gameObjectId);
274
307
  return [4, eva_js.resource.getResource(component.resource)];
275
308
  case 1:
276
309
  frames_1 = (_a.sent()).instance;
310
+ if (!this.validateAsyncId(gameObjectId, asyncId))
311
+ return [2];
277
312
  if (!frames_1) {
278
313
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
279
314
  }
@@ -288,9 +323,13 @@ var SpriteAnimation = (function (_super) {
288
323
  if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
289
324
  this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
290
325
  return [3, 5];
291
- case 3: return [4, eva_js.resource.getResource(component.resource)];
326
+ case 3:
327
+ asyncId = this.increaseAsyncId(gameObjectId);
328
+ return [4, eva_js.resource.getResource(component.resource)];
292
329
  case 4:
293
330
  frames_2 = (_a.sent()).instance;
331
+ if (!this.validateAsyncId(gameObjectId, asyncId))
332
+ return [2];
294
333
  if (!frames_2) {
295
334
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
296
335
  }
@@ -303,6 +342,7 @@ var SpriteAnimation = (function (_super) {
303
342
  case 5: return [3, 7];
304
343
  case 6:
305
344
  if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
345
+ this.increaseAsyncId(gameObjectId);
306
346
  this.remove(changed.gameObject.id);
307
347
  }
308
348
  _a.label = 7;
@@ -338,9 +378,11 @@ var SpriteAnimation = (function (_super) {
338
378
  };
339
379
  SpriteAnimation.prototype.remove = function (id, isChange) {
340
380
  var animate = this.animates[id];
381
+ if (!animate)
382
+ return;
341
383
  this.autoPlay[id] = animate.animatedSprite.playing;
342
384
  this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
343
- animate.animatedSprite.destroy({ children: true });
385
+ animate.animatedSprite.destroy();
344
386
  delete this.animates[id];
345
387
  if (!isChange) {
346
388
  delete this.autoPlay[id];
@@ -1 +1 @@
1
- "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/inspector-decorator"),n=require("@eva/plugin-renderer"),r=require("@eva/renderer-adapter"),o=require("pixi.js"),i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)t.hasOwnProperty(n)&&(e[n]=t[n])})(e,t)};function a(e,t){function n(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(n.prototype=t.prototype,new n)}function s(e,t,n,r){var o,i=arguments.length,a=i<3?t:null===r?r=Object.getOwnPropertyDescriptor(t,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a}function c(e,t){var n,r,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(n)throw new TypeError("Generator is already executing.");for(;a;)try{if(n=1,r&&(o=2&i[0]?r.return:i[0]?r.throw||((o=r.return)&&o.call(r),0):r.next)&&!(o=o.call(r,i[1])).done)return o;switch(r=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,r=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],r=0}finally{n=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function p(e){var t="function"==typeof Symbol&&e[Symbol.iterator],n=0;return t?t.call(e):{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}var u=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.autoPlay=!0,t.speed=100,t.waitPlay=!1,t.waitStop=!1,t.times=1/0,t.count=0,t}return a(n,e),n.prototype.init=function(e){var t=this;e&&Object.assign(this,e),this.on("loop",(function(){++t.count>=t.times&&(t.animate.stop(),t.emit("complete"))}))},n.prototype.play=function(e){void 0===e&&(e=1/0),0!==e&&(this.times=e,this.animate?(this.animate.play(),this.count=0):this.waitPlay=!0)},n.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(n.prototype,"animate",{get:function(){return this._animate},set:function(e){this._animate=e,this.waitPlay&&(this.waitPlay=!1,this.play(this.times)),this.waitStop&&(this.waitStop=!1,this.stop())},enumerable:!1,configurable:!0}),n.prototype.gotoAndPlay=function(e){this.animate.gotoAndPlay(e)},n.prototype.gotoAndStop=function(e){this.animate.gotoAndStop(e)},n.componentName="SpriteAnimation",s([t.type("string")],n.prototype,"resource",void 0),s([t.type("boolean")],n.prototype,"autoPlay",void 0),s([t.type("number"),t.step(10)],n.prototype,"speed",void 0),n}(e.Component);e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t=e.name,n=e.data;return new Promise((function(e){var r,i,a=n.json,s=o.BaseTexture.from(n.image),c=a.frames||{},u=a.animations||{},l={};for(var m in c){l[t+"_s|r|c_"+m]=c[m]}for(var m in u){var f=[];if(u[m]&&u[m].length>=0)try{for(var h=(r=void 0,p(u[m])),d=h.next();!d.done;d=h.next()){var y=d.value,v=t+"_s|r|c_"+y;f.push(v)}}catch(e){r={error:e}}finally{try{d&&!d.done&&(i=h.return)&&i.call(h)}finally{if(r)throw r.error}}u[m]=f}a.frames=l;var g=new o.Spritesheet(s,a);g.parse((function(){var t=g.textures,n=[];for(var r in t)n.push(t[r]);e(n)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t,n,r=e.instance;if(r)try{for(var o=p(r),i=o.next();!i.done;i=o.next()){i.value.destroy(!0)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(t)throw t.error}}}));var l=function(t){function o(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="SpriteAnimation",e.animates={},e.autoPlay={},e}return a(o,t),o.prototype.init=function(){this.renderSystem=this.game.getSystem(n.RendererSystem),this.renderSystem.rendererManager.register(this)},o.prototype.rendererUpdate=function(e){var t=e.transform.size,n=t.width,r=t.height;this.animates[e.id]&&(this.animates[e.id].animatedSprite.width=n,this.animates[e.id].animatedSprite.height=r)},o.prototype.componentChanged=function(t){return n=this,r=void 0,i=function(){var n,r,o;return c(this,(function(i){switch(i.label){case 0:return"SpriteAnimation"!==t.componentName?[3,7]:(n=t.component,this.autoPlay[t.gameObject.id]=n.autoPlay,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:[4,e.resource.getResource(n.resource)]);case 1:return(r=i.sent().instance)||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.add({frames:r,id:t.gameObject.id,component:n}),[3,7];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,6]:t.prop&&"speed"===t.prop.prop[0]?(this.animates[t.gameObject.id].speed=1e3/60/n.speed,[3,5]):[3,3];case 3:return[4,e.resource.getResource(n.resource)];case 4:(o=i.sent().instance)||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.change({frames:o,id:t.gameObject.id,component:n}),i.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&this.remove(t.gameObject.id),i.label=7;case 7:return[2]}}))},new((o=void 0)||(o=Promise))((function(e,t){function a(e){try{c(i.next(e))}catch(e){t(e)}}function s(e){try{c(i.throw(e))}catch(e){t(e)}}function c(t){t.done?e(t.value):new o((function(e){e(t.value)})).then(a,s)}c((i=i.apply(n,r||[])).next())}));var n,r,o,i},o.prototype.add=function(e){var t=e.frames,n=e.id,o=e.component,i=new r.SpriteAnimation({frames:t});this.animates[n]=i,this.containerManager.getContainer(n).addChildAt(i.animatedSprite,0),i.animatedSprite.onComplete=function(){o.emit("complete")},i.animatedSprite.onFrameChange=function(){o.emit("frameChange")},i.animatedSprite.onLoop=function(){o.emit("loop")},o.animate=this.animates[n],this.animates[n].speed=1e3/60/o.speed,this.autoPlay[n]&&i.animatedSprite.play()},o.prototype.change=function(e){var t=e.frames,n=e.id,r=e.component;this.remove(n,!0),this.add({frames:t,id:n,component:r})},o.prototype.remove=function(e,t){var n=this.animates[e];this.autoPlay[e]=n.animatedSprite.playing,this.containerManager.getContainer(e).removeChild(n.animatedSprite),n.animatedSprite.destroy({children:!0}),delete this.animates[e],t||delete this.autoPlay[e]},o.systemName="SpriteAnimation",o=s([e.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(n.Renderer);exports.SpriteAnimation=u,exports.SpriteAnimationSystem=l;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/inspector-decorator"),r=require("@eva/plugin-renderer"),n=require("@eva/renderer-adapter"),o=require("pixi.js"),i=function(e,t){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])},i(e,t)};function a(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function s(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function c(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function p(e){var t="function"==typeof Symbol&&e[Symbol.iterator],r=0;return t?t.call(e):{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}}}var u=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.autoPlay=!0,t.speed=100,t.forwards=!1,t.waitPlay=!1,t.waitStop=!1,t.times=1/0,t.count=0,t.complete=!1,t}return a(r,e),r.prototype.init=function(e){var t=this;e&&Object.assign(this,e),this.on("loop",(function(){++t.count>=t.times&&(t.forwards?t.gotoAndStop(t.totalFrames-1):t.animate.stop(),t.complete=!0,t.emit("complete"))}))},r.prototype.play=function(e){void 0===e&&(e=1/0),0!==e&&(this.times=e,this.animate?(this.complete&&this.gotoAndStop(0),this.animate.play(),this.count=0,this.complete=!1):this.waitPlay=!0)},r.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(r.prototype,"animate",{get:function(){return this._animate},set:function(e){this._animate=e,this.waitPlay&&(this.waitPlay=!1,this.play(this.times)),this.waitStop&&(this.waitStop=!1,this.stop())},enumerable:!1,configurable:!0}),r.prototype.gotoAndPlay=function(e){this.animate.gotoAndPlay(e)},r.prototype.gotoAndStop=function(e){this.animate.gotoAndStop(e)},Object.defineProperty(r.prototype,"currentFrame",{get:function(){var e,t;return null===(t=null===(e=this.animate)||void 0===e?void 0:e.animatedSprite)||void 0===t?void 0:t.currentFrame},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"totalFrames",{get:function(){var e,t;return null===(t=null===(e=this.animate)||void 0===e?void 0:e.animatedSprite)||void 0===t?void 0:t.totalFrames},enumerable:!1,configurable:!0}),r.componentName="SpriteAnimation",s([t.type("string")],r.prototype,"resource",void 0),s([t.type("boolean")],r.prototype,"autoPlay",void 0),s([t.type("number"),t.step(10)],r.prototype,"speed",void 0),s([t.type("boolean")],r.prototype,"forwards",void 0),r}(e.Component),l=u,m="_s|r|c_";e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var n,i,a=r.json.data,s=r.image instanceof o.Texture?r.image:o.Texture.from(r.image),c=a.frames||{},u=a.animations||{},l={};for(var d in c){l[t+m+d]=c[d]}for(var d in u){var f=[];if(u[d]&&u[d].length>=0)try{for(var h=(n=void 0,p(u[d])),y=h.next();!y.done;y=h.next()){var v=y.value,g=t+m+v;f.push(g)}}catch(e){n={error:e}}finally{try{y&&!y.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}u[d]=f}a.frames=l;var b=new o.Spritesheet(s,a);b.parse().then((function(){var t=b.textures,r=[];for(var n in t)r.push(t[n]);e(r)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t,r,n=e.instance;if(n)try{for(var o=p(n),i=o.next();!i.done;i=o.next()){i.value.destroy(!0)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}}));var d=function(t){function o(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="SpriteAnimation",e.animates={},e.autoPlay={},e}return a(o,t),o.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},o.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.animates[e.id]&&(this.animates[e.id].animatedSprite.width=r,this.animates[e.id].animatedSprite.height=n)},o.prototype.componentChanged=function(t){return r=this,n=void 0,i=function(){var r,n,o,i,a;return c(this,(function(s){switch(s.label){case 0:return r=t.gameObject.id,"SpriteAnimation"!==t.componentName?[3,7]:(n=t.component,this.autoPlay[t.gameObject.id]=n.autoPlay,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]));case 1:return o=s.sent().instance,this.validateAsyncId(r,i)?(o||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.add({frames:o,id:t.gameObject.id,component:n}),[3,7]):[2];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,6]:t.prop&&"speed"===t.prop.prop[0]?(this.animates[t.gameObject.id].speed=1e3/60/n.speed,[3,5]):[3,3];case 3:return i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)];case 4:if(a=s.sent().instance,!this.validateAsyncId(r,i))return[2];a||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.change({frames:a,id:t.gameObject.id,component:n}),s.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),this.remove(t.gameObject.id)),s.label=7;case 7:return[2]}}))},new((o=void 0)||(o=Promise))((function(e,t){function a(e){try{c(i.next(e))}catch(e){t(e)}}function s(e){try{c(i.throw(e))}catch(e){t(e)}}function c(t){t.done?e(t.value):new o((function(e){e(t.value)})).then(a,s)}c((i=i.apply(r,n||[])).next())}));var r,n,o,i},o.prototype.add=function(e){var t=e.frames,r=e.id,o=e.component,i=new n.SpriteAnimation({frames:t});this.animates[r]=i,this.containerManager.getContainer(r).addChildAt(i.animatedSprite,0),i.animatedSprite.onComplete=function(){o.emit("complete")},i.animatedSprite.onFrameChange=function(){o.emit("frameChange")},i.animatedSprite.onLoop=function(){o.emit("loop")},o.animate=this.animates[r],this.animates[r].speed=1e3/60/o.speed,this.autoPlay[r]&&i.animatedSprite.play()},o.prototype.change=function(e){var t=e.frames,r=e.id,n=e.component;this.remove(r,!0),this.add({frames:t,id:r,component:n})},o.prototype.remove=function(e,t){var r=this.animates[e];r&&(this.autoPlay[e]=r.animatedSprite.playing,this.containerManager.getContainer(e).removeChild(r.animatedSprite),r.animatedSprite.destroy(),delete this.animates[e],t||delete this.autoPlay[e])},o.systemName="SpriteAnimation",o=s([e.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(r.Renderer);exports.SpriteAnimation=l,exports.SpriteAnimationSystem=d;
@@ -2,7 +2,7 @@ import { Component, resource, RESOURCE_TYPE, decorators, OBSERVER_TYPE } from '@
2
2
  import { type, step } from '@eva/inspector-decorator';
3
3
  import { RendererSystem, Renderer } from '@eva/plugin-renderer';
4
4
  import { SpriteAnimation as SpriteAnimation$4 } from '@eva/renderer-adapter';
5
- import { BaseTexture, Spritesheet } from 'pixi.js';
5
+ import { Texture, Spritesheet } from 'pixi.js';
6
6
 
7
7
  /*! *****************************************************************************
8
8
  Copyright (c) Microsoft Corporation. All rights reserved.
@@ -95,10 +95,12 @@ var SpriteAnimation$2 = (function (_super) {
95
95
  _this.resource = '';
96
96
  _this.autoPlay = true;
97
97
  _this.speed = 100;
98
+ _this.forwards = false;
98
99
  _this.waitPlay = false;
99
100
  _this.waitStop = false;
100
101
  _this.times = Infinity;
101
102
  _this.count = 0;
103
+ _this.complete = false;
102
104
  return _this;
103
105
  }
104
106
  SpriteAnimation.prototype.init = function (obj) {
@@ -106,7 +108,13 @@ var SpriteAnimation$2 = (function (_super) {
106
108
  obj && Object.assign(this, obj);
107
109
  this.on('loop', function () {
108
110
  if (++_this.count >= _this.times) {
109
- _this.animate.stop();
111
+ if (_this.forwards) {
112
+ _this.gotoAndStop(_this.totalFrames - 1);
113
+ }
114
+ else {
115
+ _this.animate.stop();
116
+ }
117
+ _this.complete = true;
110
118
  _this.emit('complete');
111
119
  }
112
120
  });
@@ -121,8 +129,12 @@ var SpriteAnimation$2 = (function (_super) {
121
129
  this.waitPlay = true;
122
130
  }
123
131
  else {
132
+ if (this.complete) {
133
+ this.gotoAndStop(0);
134
+ }
124
135
  this.animate.play();
125
136
  this.count = 0;
137
+ this.complete = false;
126
138
  }
127
139
  };
128
140
  SpriteAnimation.prototype.stop = function () {
@@ -157,6 +169,22 @@ var SpriteAnimation$2 = (function (_super) {
157
169
  SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
158
170
  this.animate.gotoAndStop(frameNumber);
159
171
  };
172
+ Object.defineProperty(SpriteAnimation.prototype, "currentFrame", {
173
+ get: function () {
174
+ var _a, _b;
175
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.currentFrame;
176
+ },
177
+ enumerable: false,
178
+ configurable: true
179
+ });
180
+ Object.defineProperty(SpriteAnimation.prototype, "totalFrames", {
181
+ get: function () {
182
+ var _a, _b;
183
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.totalFrames;
184
+ },
185
+ enumerable: false,
186
+ configurable: true
187
+ });
160
188
  SpriteAnimation.componentName = 'SpriteAnimation';
161
189
  __decorate([
162
190
  type('string')
@@ -168,6 +196,9 @@ var SpriteAnimation$2 = (function (_super) {
168
196
  type('number'),
169
197
  step(10)
170
198
  ], SpriteAnimation.prototype, "speed", void 0);
199
+ __decorate([
200
+ type('boolean')
201
+ ], SpriteAnimation.prototype, "forwards", void 0);
171
202
  return SpriteAnimation;
172
203
  }(Component));
173
204
  var SpriteAnimation$3 = SpriteAnimation$2;
@@ -177,8 +208,8 @@ resource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
177
208
  var name = _a.name, data = _a.data;
178
209
  return new Promise(function (r) {
179
210
  var e_1, _a;
180
- var textureObj = data.json;
181
- var texture = BaseTexture.from(data.image);
211
+ var textureObj = data.json.data;
212
+ var texture = data.image instanceof Texture ? data.image : Texture.from(data.image);
182
213
  var frames = textureObj.frames || {};
183
214
  var animations = textureObj.animations || {};
184
215
  var newFrames = {};
@@ -208,7 +239,7 @@ resource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
208
239
  }
209
240
  textureObj.frames = newFrames;
210
241
  var spriteSheet = new Spritesheet(texture, textureObj);
211
- spriteSheet.parse(function () {
242
+ spriteSheet.parse().then(function () {
212
243
  var textures = spriteSheet.textures;
213
244
  var spriteFrames = [];
214
245
  for (var key in textures) {
@@ -259,17 +290,21 @@ var SpriteAnimation = (function (_super) {
259
290
  };
260
291
  SpriteAnimation.prototype.componentChanged = function (changed) {
261
292
  return __awaiter(this, void 0, void 0, function () {
262
- var component, frames_1, frames_2;
293
+ var gameObjectId, component, asyncId, frames_1, asyncId, frames_2;
263
294
  return __generator(this, function (_a) {
264
295
  switch (_a.label) {
265
296
  case 0:
297
+ gameObjectId = changed.gameObject.id;
266
298
  if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
267
299
  component = changed.component;
268
300
  this.autoPlay[changed.gameObject.id] = component.autoPlay;
269
301
  if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
302
+ asyncId = this.increaseAsyncId(gameObjectId);
270
303
  return [4, resource.getResource(component.resource)];
271
304
  case 1:
272
305
  frames_1 = (_a.sent()).instance;
306
+ if (!this.validateAsyncId(gameObjectId, asyncId))
307
+ return [2];
273
308
  if (!frames_1) {
274
309
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
275
310
  }
@@ -284,9 +319,13 @@ var SpriteAnimation = (function (_super) {
284
319
  if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
285
320
  this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
286
321
  return [3, 5];
287
- case 3: return [4, resource.getResource(component.resource)];
322
+ case 3:
323
+ asyncId = this.increaseAsyncId(gameObjectId);
324
+ return [4, resource.getResource(component.resource)];
288
325
  case 4:
289
326
  frames_2 = (_a.sent()).instance;
327
+ if (!this.validateAsyncId(gameObjectId, asyncId))
328
+ return [2];
290
329
  if (!frames_2) {
291
330
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
292
331
  }
@@ -299,6 +338,7 @@ var SpriteAnimation = (function (_super) {
299
338
  case 5: return [3, 7];
300
339
  case 6:
301
340
  if (changed.type === OBSERVER_TYPE.REMOVE) {
341
+ this.increaseAsyncId(gameObjectId);
302
342
  this.remove(changed.gameObject.id);
303
343
  }
304
344
  _a.label = 7;
@@ -334,9 +374,11 @@ var SpriteAnimation = (function (_super) {
334
374
  };
335
375
  SpriteAnimation.prototype.remove = function (id, isChange) {
336
376
  var animate = this.animates[id];
377
+ if (!animate)
378
+ return;
337
379
  this.autoPlay[id] = animate.animatedSprite.playing;
338
380
  this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
339
- animate.animatedSprite.destroy({ children: true });
381
+ animate.animatedSprite.destroy();
340
382
  delete this.animates[id];
341
383
  if (!isChange) {
342
384
  delete this.autoPlay[id];
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-sprite-animation",
3
- "version": "1.3.0-alpha.1",
3
+ "version": "2.0.0-beta.0",
4
4
  "description": "@eva/plugin-renderer-sprite-animation",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite-animation.esm.js",
@@ -19,9 +19,9 @@
19
19
  "homepage": "https://eva.js.org",
20
20
  "dependencies": {
21
21
  "@eva/inspector-decorator": "^0.0.5",
22
- "@eva/plugin-renderer": "1.3.0-alpha.1",
23
- "@eva/renderer-adapter": "1.3.0-alpha.1",
24
- "@eva/eva.js": "1.3.0-alpha.1",
25
- "pixi.js": "^4.8.7"
22
+ "@eva/plugin-renderer": "2.0.0-beta.0",
23
+ "@eva/renderer-adapter": "2.0.0-beta.0",
24
+ "@eva/eva.js": "2.0.0-beta.0",
25
+ "pixi.js": "^8.6.3"
26
26
  }
27
27
  }
@@ -1,63 +0,0 @@
1
- import { Component } from '@eva/eva.js';
2
- import { ComponentChanged } from '@eva/eva.js';
3
- import { ContainerManager } from '@eva/plugin-renderer';
4
- import { GameObject } from '@eva/eva.js';
5
- import { Renderer } from '@eva/plugin-renderer';
6
- import { RendererManager } from '@eva/plugin-renderer';
7
- import { RendererSystem } from '@eva/plugin-renderer';
8
- import { SpriteAnimation as SpriteAnimation_2 } from '@eva/renderer-adapter';
9
-
10
- export declare class SpriteAnimation extends Component<SpriteAnimationParams> {
11
- static componentName: string;
12
- resource: string;
13
- autoPlay: boolean;
14
- speed: number;
15
- _animate: SpriteAnimation_2;
16
- private waitPlay;
17
- private waitStop;
18
- private times;
19
- private count;
20
- init(obj?: SpriteAnimationParams): void;
21
- play(times?: number): void;
22
- stop(): void;
23
- set animate(val: SpriteAnimation_2);
24
- get animate(): SpriteAnimation_2;
25
- gotoAndPlay(frameNumber: any): void;
26
- gotoAndStop(frameNumber: any): void;
27
- }
28
-
29
- export declare interface SpriteAnimationParams {
30
- resource: string;
31
- autoPlay: boolean;
32
- speed: number;
33
- }
34
-
35
- export declare class SpriteAnimationSystem extends Renderer {
36
- static systemName: string;
37
- name: string;
38
- animates: {
39
- [propName: number]: SpriteAnimation_2;
40
- };
41
- autoPlay: {
42
- [propName: number]: boolean;
43
- };
44
- renderSystem: RendererSystem;
45
- rendererManager: RendererManager;
46
- containerManager: ContainerManager;
47
- init(): void;
48
- rendererUpdate(gameObject: GameObject): void;
49
- componentChanged(changed: ComponentChanged): Promise<void>;
50
- add({ frames, id, component }: {
51
- frames: any;
52
- id: any;
53
- component: any;
54
- }): void;
55
- change({ frames, id, component }: {
56
- frames: any;
57
- id: any;
58
- component: any;
59
- }): void;
60
- remove(id: any, isChange?: boolean): void;
61
- }
62
-
63
- export { }