@eva/plugin-renderer-sprite-animation 1.2.7-editor.9 → 1.2.7-fix.5

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.
@@ -14,7 +14,7 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
14
14
  d.__proto__ = b;
15
15
  } || function (d, b) {
16
16
  for (var p in b) {
17
- if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
17
+ if (b.hasOwnProperty(p)) d[p] = b[p];
18
18
  }
19
19
  };
20
20
 
@@ -22,8 +22,6 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
22
22
  };
23
23
 
24
24
  function __extends(d, b) {
25
- if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
26
-
27
25
  _extendStatics(d, b);
28
26
 
29
27
  function __() {
@@ -33,22 +31,6 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
33
31
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
32
  }
35
33
 
36
- var _assign = function __assign() {
37
- _assign = Object.assign || function __assign(t) {
38
- for (var s, i = 1, n = arguments.length; i < n; i++) {
39
- s = arguments[i];
40
-
41
- for (var p in s) {
42
- if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
43
- }
44
- }
45
-
46
- return t;
47
- };
48
-
49
- return _assign.apply(this, arguments);
50
- };
51
-
52
34
  function __decorate(decorators, target, key, desc) {
53
35
  var c = arguments.length,
54
36
  r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
@@ -59,10 +41,6 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
59
41
  return c > 3 && r && Object.defineProperty(target, key, r), r;
60
42
  }
61
43
 
62
- function __metadata(metadataKey, metadataValue) {
63
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
64
- }
65
-
66
44
  function __awaiter(thisArg, _arguments, P, generator) {
67
45
  function adopt(value) {
68
46
  return value instanceof P ? value : new P(function (resolve) {
@@ -223,117 +201,34 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
223
201
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
224
202
  }
225
203
 
226
- var SymbolKeysNotSupportedError = function (_super) {
227
- __extends(SymbolKeysNotSupportedError, _super);
228
-
229
- function SymbolKeysNotSupportedError() {
230
- var _newTarget = this.constructor;
231
-
232
- var _this = _super.call(this, 'Symbol keys are not supported yet!') || this;
233
-
234
- Object.setPrototypeOf(_this, _newTarget.prototype);
235
- return _this;
236
- }
237
-
238
- return SymbolKeysNotSupportedError;
239
- }(Error);
240
-
241
- (function (_super) {
242
- __extends(StaticGetPropertiesIsNotAFunctionError, _super);
243
-
244
- function StaticGetPropertiesIsNotAFunctionError() {
245
- var _newTarget = this.constructor;
246
-
247
- var _this = _super.call(this, 'getProperties is not a function!') || this;
248
-
249
- Object.setPrototypeOf(_this, _newTarget.prototype);
250
- return _this;
251
- }
252
-
253
- return StaticGetPropertiesIsNotAFunctionError;
254
- })(Error);
255
-
256
- var IDE_PROPERTY_METADATA = 'IDE_PROPERTY_METADATA';
257
-
258
- function transformBasicType(type) {
259
- if (type === String) {
260
- return 'string';
261
- }
262
-
263
- if (type === Number) {
264
- return 'number';
265
- }
266
-
267
- if (type === Boolean) {
268
- return 'boolean';
269
- }
270
-
271
- return 'unknown';
272
- }
273
-
274
- function defineTypes(target, key, options, returnTypeFunction) {
275
- var type = Reflect.getMetadata('design:type', target, key);
276
- var isArray = type === Array;
277
- var str = transformBasicType(type);
278
-
279
- if (str !== 'unknown') {
280
- type = str;
204
+ function getIDEPropsPropertyObj(target, propertyKey) {
205
+ if (!target.constructor.IDEProps) {
206
+ target.constructor.IDEProps = {};
281
207
  }
282
208
 
283
- if (returnTypeFunction) {
284
- var returnType = returnTypeFunction();
285
-
286
- if (Array.isArray(returnType)) {
287
- isArray = true;
288
- type = returnType[0];
289
- } else {
290
- type = returnType;
291
- }
209
+ if (!target.constructor.IDEProps[propertyKey]) {
210
+ target.constructor.IDEProps[propertyKey] = {};
292
211
  }
293
212
 
294
- var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target.constructor) || {};
295
- properties[key] = _assign({
296
- type: type,
297
- isArray: isArray
298
- }, options);
299
- Reflect.defineMetadata(IDE_PROPERTY_METADATA, properties, target.constructor);
213
+ var propertyObj = target.constructor.IDEProps[propertyKey];
214
+ return propertyObj;
300
215
  }
301
216
 
302
- function getTypeDecoratorParams(returnTypeFuncOrOptions, maybeOptions) {
303
- if (typeof returnTypeFuncOrOptions === 'function') {
304
- return {
305
- returnTypeFunc: returnTypeFuncOrOptions,
306
- options: maybeOptions || {}
307
- };
308
- }
309
-
310
- return {
311
- options: returnTypeFuncOrOptions || {}
217
+ function type(type) {
218
+ return function (target, propertyKey) {
219
+ var prop = getIDEPropsPropertyObj(target, propertyKey);
220
+ prop.key = propertyKey;
221
+ prop.type = type;
312
222
  };
313
223
  }
314
224
 
315
- function Field(returnTypeFunction, maybeOptions) {
225
+ function step(step) {
316
226
  return function (target, propertyKey) {
317
- if (typeof propertyKey === 'symbol') {
318
- throw new SymbolKeysNotSupportedError();
319
- }
320
-
321
- var _a = getTypeDecoratorParams(returnTypeFunction, maybeOptions),
322
- options = _a.options,
323
- returnTypeFunc = _a.returnTypeFunc;
324
-
325
- defineTypes(target, propertyKey, options, returnTypeFunc);
227
+ var prop = getIDEPropsPropertyObj(target, propertyKey);
228
+ prop.step = step;
326
229
  };
327
230
  }
328
231
 
329
- var ExecuteMode;
330
-
331
- (function (ExecuteMode) {
332
- ExecuteMode[ExecuteMode["Edit"] = 2] = "Edit";
333
- ExecuteMode[ExecuteMode["Game"] = 4] = "Game";
334
- ExecuteMode[ExecuteMode["All"] = 6] = "All";
335
- })(ExecuteMode || (ExecuteMode = {}));
336
-
337
232
  var SpriteAnimation$2 = function (_super) {
338
233
  __extends(SpriteAnimation, _super);
339
234
 
@@ -452,15 +347,13 @@ var _EVA_IIFE_spriteAnimation = function (exports, eva_js, pluginRenderer, rende
452
347
  });
453
348
  SpriteAnimation.componentName = 'SpriteAnimation';
454
349
 
455
- __decorate([Field(), __metadata("design:type", String)], SpriteAnimation.prototype, "resource", void 0);
350
+ __decorate([type('string')], SpriteAnimation.prototype, "resource", void 0);
456
351
 
457
- __decorate([Field(), __metadata("design:type", Boolean)], SpriteAnimation.prototype, "autoPlay", void 0);
352
+ __decorate([type('boolean')], SpriteAnimation.prototype, "autoPlay", void 0);
458
353
 
459
- __decorate([Field({
460
- step: 10
461
- }), __metadata("design:type", Number)], SpriteAnimation.prototype, "speed", void 0);
354
+ __decorate([type('number'), step(10)], SpriteAnimation.prototype, "speed", void 0);
462
355
 
463
- __decorate([Field(), __metadata("design:type", Boolean)], SpriteAnimation.prototype, "forwards", void 0);
356
+ __decorate([type('boolean')], SpriteAnimation.prototype, "forwards", void 0);
464
357
 
465
358
  return SpriteAnimation;
466
359
  }(eva_js.Component);
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EVA.plugin.renderer.spriteAnimation.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/component.ts","../lib/system.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["decorators","Component","SpriteAnimation","resource","RESOURCE_TYPE","BaseTexture","Spritesheet","RendererSystem","OBSERVER_TYPE","SpriteAnimationEngine","Renderer"],"mappings":"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"}
@@ -1 +1 @@
1
- function _extends(){return _extends=Object.assign||function(t){for(var e=1;e<arguments.length;e++){var n=arguments[e];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(t[r]=n[r])}return t},_extends.apply(this,arguments)}window.EVA=window.EVA||{},window.EVA.plugin=window.EVA.plugin||{},window.EVA.plugin.renderer=window.EVA.plugin.renderer||{};var _EVA_IIFE_spriteAnimation=function(t,e,n,r,o){"use strict";var i=function(t,e){return i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var n in e)Object.prototype.hasOwnProperty.call(e,n)&&(t[n]=e[n])},i(t,e)};function a(t,e){if("function"!=typeof e&&null!==e)throw new TypeError("Class extends value "+String(e)+" is not a constructor or null");function n(){this.constructor=t}i(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}var s=function(){return s=Object.assign||function(t){for(var e,n=1,r=arguments.length;n<r;n++)for(var o in e=arguments[n])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},s.apply(this,arguments)};function c(t,e,n,r){var o,i=arguments.length,a=i<3?e:null===r?r=Object.getOwnPropertyDescriptor(e,n):r;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(t,e,n,r);else for(var s=t.length-1;s>=0;s--)(o=t[s])&&(a=(i<3?o(a):i>3?o(e,n,a):o(e,n))||a);return i>3&&a&&Object.defineProperty(e,n,a),a}function p(t,e){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(t,e)}function u(t,e,n,r){return new(n||(n=Promise))((function(o,i){function a(t){try{c(r.next(t))}catch(t){i(t)}}function s(t){try{c(r.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof n?e:new n((function(t){t(e)}))).then(a,s)}c((r=r.apply(t,e||[])).next())}))}function l(t,e){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=e.call(t,a)}catch(t){i=[6,t],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 f(t){var e="function"==typeof Symbol&&Symbol.iterator,n=e&&t[e],r=0;if(n)return n.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&r>=t.length&&(t=void 0),{value:t&&t[r++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}var d=function(t){function e(){var e=this.constructor,n=t.call(this,"Symbol keys are not supported yet!")||this;return Object.setPrototypeOf(n,e.prototype),n}return a(e,t),e}(Error);!function(t){function e(){var e=this.constructor,n=t.call(this,"getProperties is not a function!")||this;return Object.setPrototypeOf(n,e.prototype),n}a(e,t)}(Error);var m,y="IDE_PROPERTY_METADATA";function h(t,e,n,r){var o=Reflect.getMetadata("design:type",t,e),i=o===Array,a=function(t){return t===String?"string":t===Number?"number":t===Boolean?"boolean":"unknown"}(o);if("unknown"!==a&&(o=a),r){var c=r();Array.isArray(c)?(i=!0,o=c[0]):o=c}var p=Reflect.getMetadata(y,t.constructor)||{};p[e]=s({type:o,isArray:i},n),Reflect.defineMetadata(y,p,t.constructor)}function v(t,e){return function(n,r){if("symbol"==typeof r)throw new d;var o=function(t,e){return"function"==typeof t?{returnTypeFunc:t,options:e||{}}:{options:t||{}}}(t,e);h(n,r,o.options,o.returnTypeFunc)}}!function(t){t[t.Edit=2]="Edit",t[t.Game=4]="Game",t[t.All=6]="All"}(m||(m={}));var g=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.resource="",e.autoPlay=!0,e.speed=100,e.forwards=!1,e.waitPlay=!1,e.waitStop=!1,e.times=1/0,e.count=0,e.complete=!1,e}return a(e,t),e.prototype.init=function(t){var e=this;t&&_extends(this,t),this.on("loop",(function(){++e.count>=e.times&&(e.forwards?e.gotoAndStop(e.totalFrames-1):e.animate.stop(),e.complete=!0,e.emit("complete"))}))},e.prototype.play=function(t){void 0===t&&(t=1/0),0!==t&&(this.times=t,this.animate?(this.complete&&this.gotoAndStop(0),this.animate.play(),this.count=0,this.complete=!1):this.waitPlay=!0)},e.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(e.prototype,"animate",{get:function(){return this._animate},set:function(t){this._animate=t,this.waitPlay&&(this.waitPlay=!1,this.play(this.times)),this.waitStop&&(this.waitStop=!1,this.stop())},enumerable:!1,configurable:!0}),e.prototype.gotoAndPlay=function(t){this.animate.gotoAndPlay(t)},e.prototype.gotoAndStop=function(t){this.animate.gotoAndStop(t)},Object.defineProperty(e.prototype,"currentFrame",{get:function(){var t,e;return null===(e=null===(t=this.animate)||void 0===t?void 0:t.animatedSprite)||void 0===e?void 0:e.currentFrame},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"totalFrames",{get:function(){var t,e;return null===(e=null===(t=this.animate)||void 0===t?void 0:t.animatedSprite)||void 0===e?void 0:e.totalFrames},enumerable:!1,configurable:!0}),e.componentName="SpriteAnimation",c([v(),p("design:type",String)],e.prototype,"resource",void 0),c([v(),p("design:type",Boolean)],e.prototype,"autoPlay",void 0),c([v({step:10}),p("design:type",Number)],e.prototype,"speed",void 0),c([v(),p("design:type",Boolean)],e.prototype,"forwards",void 0),e}(e.Component),b=g,w="_s|r|c_";e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(t){var e=t.name,n=t.data;return new Promise((function(t){var r,i,a=n.json,s=o.BaseTexture.from(n.image),c=a.frames||{},p=a.animations||{},u={};for(var l in c){u[e+w+l]=c[l]}for(var l in p){var d=[];if(p[l]&&p[l].length>=0)try{for(var m=(r=void 0,f(p[l])),y=m.next();!y.done;y=m.next()){var h=y.value,v=e+w+h;d.push(v)}}catch(t){r={error:t}}finally{try{y&&!y.done&&(i=m.return)&&i.call(m)}finally{if(r)throw r.error}}p[l]=d}a.frames=u;var g=new o.Spritesheet(s,a);g.parse((function(){var e=g.textures,n=[];for(var r in e)n.push(e[r]);t(n)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(t){var e,n,r=t.instance;if(r)try{for(var o=f(r),i=o.next();!i.done;i=o.next()){i.value.destroy(!0)}}catch(t){e={error:t}}finally{try{i&&!i.done&&(n=o.return)&&n.call(o)}finally{if(e)throw e.error}}}));var A=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(t){var e=t.transform.size,n=e.width,r=e.height;this.animates[t.id]&&(this.animates[t.id].animatedSprite.width=n,this.animates[t.id].animatedSprite.height=r)},o.prototype.componentChanged=function(t){return u(this,void 0,void 0,(function(){var n,r,o,i,a;return l(this,(function(s){switch(s.label){case 0:return n=t.gameObject.id,"SpriteAnimation"!==t.componentName?[3,7]:(r=t.component,this.autoPlay[t.gameObject.id]=r.autoPlay,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(i=this.increaseAsyncId(n),[4,e.resource.getResource(r.resource)]));case 1:return o=s.sent().instance,this.validateAsyncId(n,i)?(o||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.add({frames:o,id:t.gameObject.id,component:r}),[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/r.speed,[3,5]):[3,3];case 3:return i=this.increaseAsyncId(n),[4,e.resource.getResource(r.resource)];case 4:if(a=s.sent().instance,!this.validateAsyncId(n,i))return[2];a||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.change({frames:a,id:t.gameObject.id,component:r}),s.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(n),this.remove(t.gameObject.id)),s.label=7;case 7:return[2]}}))}))},o.prototype.add=function(t){var e=t.frames,n=t.id,o=t.component,i=new r.SpriteAnimation({frames:e});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(t){var e=t.frames,n=t.id,r=t.component;this.remove(n,!0),this.add({frames:e,id:n,component:r})},o.prototype.remove=function(t,e){var n=this.animates[t];n&&(this.autoPlay[t]=n.animatedSprite.playing,this.containerManager.getContainer(t).removeChild(n.animatedSprite),n.animatedSprite.destroy({children:!0}),delete this.animates[t],e||delete this.autoPlay[t])},o.systemName="SpriteAnimation",o=c([e.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(n.Renderer),S=A;return t.SpriteAnimation=b,t.SpriteAnimationSystem=S,Object.defineProperty(t,"__esModule",{value:!0}),t}({},EVA,EVA.plugin.renderer,EVA.rendererAdapter,PIXI);window.EVA.plugin.renderer.spriteAnimation=window.EVA.plugin.renderer.spriteAnimation||_EVA_IIFE_spriteAnimation;
1
+ function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var n=arguments[t];for(var r in n)Object.prototype.hasOwnProperty.call(n,r)&&(e[r]=n[r])}return e}).apply(this,arguments)}window.EVA=window.EVA||{},window.EVA.plugin=window.EVA.plugin||{},window.EVA.plugin.renderer=window.EVA.plugin.renderer||{};var _EVA_IIFE_spriteAnimation=function(e,t,n,r,o){"use strict";var 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,n,r){return new(n||(n=Promise))((function(o,i){function a(e){try{c(r.next(e))}catch(e){i(e)}}function s(e){try{c(r.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof n?t:new n((function(e){e(t)}))).then(a,s)}c((r=r.apply(e,t||[])).next())}))}function p(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 u(e){var t="function"==typeof Symbol&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function l(e,t){return e.constructor.IDEProps||(e.constructor.IDEProps={}),e.constructor.IDEProps[t]||(e.constructor.IDEProps[t]={}),e.constructor.IDEProps[t]}function d(e){return function(t,n){var r=l(t,n);r.key=n,r.type=e}}function m(e){return function(t,n){l(t,n).step=e}}var f=function(e){function t(){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(t,e),t.prototype.init=function(e){var t=this;e&&_extends(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"))}))},t.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)},t.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(t.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}),t.prototype.gotoAndPlay=function(e){this.animate.gotoAndPlay(e)},t.prototype.gotoAndStop=function(e){this.animate.gotoAndStop(e)},Object.defineProperty(t.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(t.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}),t.componentName="SpriteAnimation",s([d("string")],t.prototype,"resource",void 0),s([d("boolean")],t.prototype,"autoPlay",void 0),s([d("number"),m(10)],t.prototype,"speed",void 0),s([d("boolean")],t.prototype,"forwards",void 0),t}(t.Component),h="_s|r|c_";t.resource.registerInstance(t.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||{},p=a.animations||{},l={};for(var d in c){l[t+h+d]=c[d]}for(var d in p){var m=[];if(p[d]&&p[d].length>=0)try{for(var f=(r=void 0,u(p[d])),y=f.next();!y.done;y=f.next()){var v=y.value,g=t+h+v;m.push(g)}}catch(e){r={error:e}}finally{try{y&&!y.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}p[d]=m}a.frames=l;var b=new o.Spritesheet(s,a);b.parse((function(){var t=b.textures,n=[];for(var r in t)n.push(t[r]);e(n)}))}))})),t.resource.registerDestroy(t.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t,n,r=e.instance;if(r)try{for(var o=u(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 y=function(e){function o(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="SpriteAnimation",t.animates={},t.autoPlay={},t}return a(o,e),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(e){return c(this,void 0,void 0,(function(){var n,r,o,i,a;return p(this,(function(s){switch(s.label){case 0:return n=e.gameObject.id,"SpriteAnimation"!==e.componentName?[3,7]:(r=e.component,this.autoPlay[e.gameObject.id]=r.autoPlay,e.type!==t.OBSERVER_TYPE.ADD?[3,2]:(i=this.increaseAsyncId(n),[4,t.resource.getResource(r.resource)]));case 1:return o=s.sent().instance,this.validateAsyncId(n,i)?(o||console.error("GameObject:"+e.gameObject.name+"'s Img resource load error"),this.add({frames:o,id:e.gameObject.id,component:r}),[3,7]):[2];case 2:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,6]:e.prop&&"speed"===e.prop.prop[0]?(this.animates[e.gameObject.id].speed=1e3/60/r.speed,[3,5]):[3,3];case 3:return i=this.increaseAsyncId(n),[4,t.resource.getResource(r.resource)];case 4:if(a=s.sent().instance,!this.validateAsyncId(n,i))return[2];a||console.error("GameObject:"+e.gameObject.name+"'s Img resource load error"),this.change({frames:a,id:e.gameObject.id,component:r}),s.label=5;case 5:return[3,7];case 6:e.type===t.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(n),this.remove(e.gameObject.id)),s.label=7;case 7:return[2]}}))}))},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];n&&(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([t.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(n.Renderer);return e.SpriteAnimation=f,e.SpriteAnimationSystem=y,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,EVA.rendererAdapter,PIXI);window.EVA.plugin.renderer.spriteAnimation=window.EVA.plugin.renderer.spriteAnimation||_EVA_IIFE_spriteAnimation;
@@ -0,0 +1,387 @@
1
+ function _extends() { _extends = Object.assign || function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }
2
+
3
+ import { __extends, __decorate, __values, __awaiter, __generator } from 'tslib';
4
+ import { Component, resource, RESOURCE_TYPE, OBSERVER_TYPE, decorators } from '@eva/eva.js/dist/miniprogram';
5
+ import { type, step } from '@eva/inspector-decorator';
6
+ import { RendererSystem, Renderer } from '@eva/plugin-renderer/dist/miniprogram';
7
+ import { SpriteAnimation as SpriteAnimation$4 } from '@eva/renderer-adapter/dist/miniprogram';
8
+ import { BaseTexture, Spritesheet } from '@eva/miniprogram-pixi';
9
+
10
+ var SpriteAnimation$2 = function (_super) {
11
+ __extends(SpriteAnimation, _super);
12
+
13
+ function SpriteAnimation() {
14
+ var _this = _super !== null && _super.apply(this, arguments) || this;
15
+
16
+ _this.resource = '';
17
+ _this.autoPlay = true;
18
+ _this.speed = 100;
19
+ _this.forwards = false;
20
+ _this.waitPlay = false;
21
+ _this.waitStop = false;
22
+ _this.times = Infinity;
23
+ _this.count = 0;
24
+ _this.complete = false;
25
+ return _this;
26
+ }
27
+
28
+ SpriteAnimation.prototype.init = function (obj) {
29
+ var _this = this;
30
+
31
+ obj && _extends(this, obj);
32
+ this.on('loop', function () {
33
+ if (++_this.count >= _this.times) {
34
+ if (_this.forwards) {
35
+ _this.gotoAndStop(_this.totalFrames - 1);
36
+ } else {
37
+ _this.animate.stop();
38
+ }
39
+
40
+ _this.complete = true;
41
+
42
+ _this.emit('complete');
43
+ }
44
+ });
45
+ };
46
+
47
+ SpriteAnimation.prototype.play = function (times) {
48
+ if (times === void 0) {
49
+ times = Infinity;
50
+ }
51
+
52
+ if (times === 0) {
53
+ return;
54
+ }
55
+
56
+ this.times = times;
57
+
58
+ if (!this.animate) {
59
+ this.waitPlay = true;
60
+ } else {
61
+ if (this.complete) {
62
+ this.gotoAndStop(0);
63
+ }
64
+
65
+ this.animate.play();
66
+ this.count = 0;
67
+ this.complete = false;
68
+ }
69
+ };
70
+
71
+ SpriteAnimation.prototype.stop = function () {
72
+ if (!this.animate) {
73
+ this.waitStop = true;
74
+ } else {
75
+ this.animate.stop();
76
+ }
77
+ };
78
+
79
+ Object.defineProperty(SpriteAnimation.prototype, "animate", {
80
+ get: function get() {
81
+ return this._animate;
82
+ },
83
+ set: function set(val) {
84
+ this._animate = val;
85
+
86
+ if (this.waitPlay) {
87
+ this.waitPlay = false;
88
+ this.play(this.times);
89
+ }
90
+
91
+ if (this.waitStop) {
92
+ this.waitStop = false;
93
+ this.stop();
94
+ }
95
+ },
96
+ enumerable: false,
97
+ configurable: true
98
+ });
99
+
100
+ SpriteAnimation.prototype.gotoAndPlay = function (frameNumber) {
101
+ this.animate.gotoAndPlay(frameNumber);
102
+ };
103
+
104
+ SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
105
+ this.animate.gotoAndStop(frameNumber);
106
+ };
107
+
108
+ Object.defineProperty(SpriteAnimation.prototype, "currentFrame", {
109
+ get: function get() {
110
+ var _a, _b;
111
+
112
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.currentFrame;
113
+ },
114
+ enumerable: false,
115
+ configurable: true
116
+ });
117
+ Object.defineProperty(SpriteAnimation.prototype, "totalFrames", {
118
+ get: function get() {
119
+ var _a, _b;
120
+
121
+ return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.totalFrames;
122
+ },
123
+ enumerable: false,
124
+ configurable: true
125
+ });
126
+ SpriteAnimation.componentName = 'SpriteAnimation';
127
+
128
+ __decorate([type('string')], SpriteAnimation.prototype, "resource", void 0);
129
+
130
+ __decorate([type('boolean')], SpriteAnimation.prototype, "autoPlay", void 0);
131
+
132
+ __decorate([type('number'), step(10)], SpriteAnimation.prototype, "speed", void 0);
133
+
134
+ __decorate([type('boolean')], SpriteAnimation.prototype, "forwards", void 0);
135
+
136
+ return SpriteAnimation;
137
+ }(Component);
138
+
139
+ var SpriteAnimation$3 = SpriteAnimation$2;
140
+ var resourceKeySplit = '_s|r|c_';
141
+ resource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
142
+ var name = _a.name,
143
+ data = _a.data;
144
+ return new Promise(function (r) {
145
+ var e_1, _a;
146
+
147
+ var textureObj = data.json;
148
+ var texture = BaseTexture.from(data.image);
149
+ var frames = textureObj.frames || {};
150
+ var animations = textureObj.animations || {};
151
+ var newFrames = {};
152
+
153
+ for (var key in frames) {
154
+ var newKey = name + resourceKeySplit + key;
155
+ newFrames[newKey] = frames[key];
156
+ }
157
+
158
+ for (var key in animations) {
159
+ var spriteList = [];
160
+
161
+ if (animations[key] && animations[key].length >= 0) {
162
+ try {
163
+ for (var _b = (e_1 = void 0, __values(animations[key])), _c = _b.next(); !_c.done; _c = _b.next()) {
164
+ var spriteName = _c.value;
165
+ var newSpriteName = name + resourceKeySplit + spriteName;
166
+ spriteList.push(newSpriteName);
167
+ }
168
+ } catch (e_1_1) {
169
+ e_1 = {
170
+ error: e_1_1
171
+ };
172
+ } finally {
173
+ try {
174
+ if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
175
+ } finally {
176
+ if (e_1) throw e_1.error;
177
+ }
178
+ }
179
+ }
180
+
181
+ animations[key] = spriteList;
182
+ }
183
+
184
+ textureObj.frames = newFrames;
185
+ var spriteSheet = new Spritesheet(texture, textureObj);
186
+ spriteSheet.parse(function () {
187
+ var textures = spriteSheet.textures;
188
+ var spriteFrames = [];
189
+
190
+ for (var key in textures) {
191
+ spriteFrames.push(textures[key]);
192
+ }
193
+
194
+ r(spriteFrames);
195
+ });
196
+ });
197
+ });
198
+ resource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
199
+ var e_2, _b;
200
+
201
+ var instance = _a.instance;
202
+ if (!instance) return;
203
+
204
+ try {
205
+ for (var instance_1 = __values(instance), instance_1_1 = instance_1.next(); !instance_1_1.done; instance_1_1 = instance_1.next()) {
206
+ var texture = instance_1_1.value;
207
+ texture.destroy(true);
208
+ }
209
+ } catch (e_2_1) {
210
+ e_2 = {
211
+ error: e_2_1
212
+ };
213
+ } finally {
214
+ try {
215
+ if (instance_1_1 && !instance_1_1.done && (_b = instance_1.return)) _b.call(instance_1);
216
+ } finally {
217
+ if (e_2) throw e_2.error;
218
+ }
219
+ }
220
+ });
221
+
222
+ var SpriteAnimation = function (_super) {
223
+ __extends(SpriteAnimation, _super);
224
+
225
+ function SpriteAnimation() {
226
+ var _this = _super !== null && _super.apply(this, arguments) || this;
227
+
228
+ _this.name = 'SpriteAnimation';
229
+ _this.animates = {};
230
+ _this.autoPlay = {};
231
+ return _this;
232
+ }
233
+
234
+ SpriteAnimation.prototype.init = function () {
235
+ this.renderSystem = this.game.getSystem(RendererSystem);
236
+ this.renderSystem.rendererManager.register(this);
237
+ };
238
+
239
+ SpriteAnimation.prototype.rendererUpdate = function (gameObject) {
240
+ var _a = gameObject.transform.size,
241
+ width = _a.width,
242
+ height = _a.height;
243
+
244
+ if (this.animates[gameObject.id]) {
245
+ this.animates[gameObject.id].animatedSprite.width = width;
246
+ this.animates[gameObject.id].animatedSprite.height = height;
247
+ }
248
+ };
249
+
250
+ SpriteAnimation.prototype.componentChanged = function (changed) {
251
+ return __awaiter(this, void 0, void 0, function () {
252
+ var gameObjectId, component, asyncId, frames_1, asyncId, frames_2;
253
+ return __generator(this, function (_a) {
254
+ switch (_a.label) {
255
+ case 0:
256
+ gameObjectId = changed.gameObject.id;
257
+ if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
258
+ component = changed.component;
259
+ this.autoPlay[changed.gameObject.id] = component.autoPlay;
260
+ if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
261
+ asyncId = this.increaseAsyncId(gameObjectId);
262
+ return [4, resource.getResource(component.resource)];
263
+
264
+ case 1:
265
+ frames_1 = _a.sent().instance;
266
+ if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
267
+
268
+ if (!frames_1) {
269
+ console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
270
+ }
271
+
272
+ this.add({
273
+ frames: frames_1,
274
+ id: changed.gameObject.id,
275
+ component: component
276
+ });
277
+ return [3, 7];
278
+
279
+ case 2:
280
+ if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 6];
281
+ if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
282
+ this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
283
+ return [3, 5];
284
+
285
+ case 3:
286
+ asyncId = this.increaseAsyncId(gameObjectId);
287
+ return [4, resource.getResource(component.resource)];
288
+
289
+ case 4:
290
+ frames_2 = _a.sent().instance;
291
+ if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
292
+
293
+ if (!frames_2) {
294
+ console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
295
+ }
296
+
297
+ this.change({
298
+ frames: frames_2,
299
+ id: changed.gameObject.id,
300
+ component: component
301
+ });
302
+ _a.label = 5;
303
+
304
+ case 5:
305
+ return [3, 7];
306
+
307
+ case 6:
308
+ if (changed.type === OBSERVER_TYPE.REMOVE) {
309
+ this.increaseAsyncId(gameObjectId);
310
+ this.remove(changed.gameObject.id);
311
+ }
312
+
313
+ _a.label = 7;
314
+
315
+ case 7:
316
+ return [2];
317
+ }
318
+ });
319
+ });
320
+ };
321
+
322
+ SpriteAnimation.prototype.add = function (_a) {
323
+ var frames = _a.frames,
324
+ id = _a.id,
325
+ component = _a.component;
326
+ var animate = new SpriteAnimation$4({
327
+ frames: frames
328
+ });
329
+ this.animates[id] = animate;
330
+ this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);
331
+
332
+ animate.animatedSprite.onComplete = function () {
333
+ component.emit('complete');
334
+ };
335
+
336
+ animate.animatedSprite.onFrameChange = function () {
337
+ component.emit('frameChange');
338
+ };
339
+
340
+ animate.animatedSprite.onLoop = function () {
341
+ component.emit('loop');
342
+ };
343
+
344
+ component.animate = this.animates[id];
345
+ this.animates[id].speed = 1000 / 60 / component.speed;
346
+
347
+ if (this.autoPlay[id]) {
348
+ animate.animatedSprite.play();
349
+ }
350
+ };
351
+
352
+ SpriteAnimation.prototype.change = function (_a) {
353
+ var frames = _a.frames,
354
+ id = _a.id,
355
+ component = _a.component;
356
+ this.remove(id, true);
357
+ this.add({
358
+ frames: frames,
359
+ id: id,
360
+ component: component
361
+ });
362
+ };
363
+
364
+ SpriteAnimation.prototype.remove = function (id, isChange) {
365
+ var animate = this.animates[id];
366
+ if (!animate) return;
367
+ this.autoPlay[id] = animate.animatedSprite.playing;
368
+ this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
369
+ animate.animatedSprite.destroy({
370
+ children: true
371
+ });
372
+ delete this.animates[id];
373
+
374
+ if (!isChange) {
375
+ delete this.autoPlay[id];
376
+ }
377
+ };
378
+
379
+ SpriteAnimation.systemName = 'SpriteAnimation';
380
+ SpriteAnimation = __decorate([decorators.componentObserver({
381
+ SpriteAnimation: ['speed', 'resource']
382
+ })], SpriteAnimation);
383
+ return SpriteAnimation;
384
+ }(Renderer);
385
+
386
+ var SpriteAnimation$1 = SpriteAnimation;
387
+ export { SpriteAnimation$3 as SpriteAnimation, SpriteAnimation$1 as SpriteAnimationSystem };
@@ -44,10 +44,6 @@ function __decorate(decorators, target, key, desc) {
44
44
  return c > 3 && r && Object.defineProperty(target, key, r), r;
45
45
  }
46
46
 
47
- function __metadata(metadataKey, metadataValue) {
48
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
49
- }
50
-
51
47
  function __awaiter(thisArg, _arguments, P, generator) {
52
48
  return new (P || (P = Promise))(function (resolve, reject) {
53
49
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -195,20 +191,17 @@ var SpriteAnimation$2 = (function (_super) {
195
191
  });
196
192
  SpriteAnimation.componentName = 'SpriteAnimation';
197
193
  __decorate([
198
- inspectorDecorator.Field(),
199
- __metadata("design:type", String)
194
+ inspectorDecorator.type('string')
200
195
  ], SpriteAnimation.prototype, "resource", void 0);
201
196
  __decorate([
202
- inspectorDecorator.Field(),
203
- __metadata("design:type", Boolean)
197
+ inspectorDecorator.type('boolean')
204
198
  ], SpriteAnimation.prototype, "autoPlay", void 0);
205
199
  __decorate([
206
- inspectorDecorator.Field({ step: 10 }),
207
- __metadata("design:type", Number)
200
+ inspectorDecorator.type('number'),
201
+ inspectorDecorator.step(10)
208
202
  ], SpriteAnimation.prototype, "speed", void 0);
209
203
  __decorate([
210
- inspectorDecorator.Field(),
211
- __metadata("design:type", Boolean)
204
+ inspectorDecorator.type('boolean')
212
205
  ], SpriteAnimation.prototype, "forwards", void 0);
213
206
  return SpriteAnimation;
214
207
  }(eva_js.Component));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-renderer-sprite-animation.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["decorators","Component","SpriteAnimation","resource","RESOURCE_TYPE","BaseTexture","Spritesheet","RendererSystem","OBSERVER_TYPE","SpriteAnimationEngine","Renderer"],"mappings":"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"}
@@ -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])},i(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){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(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 u(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 l=function(e){function n(){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(n,e),n.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"))}))},n.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)},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)},Object.defineProperty(n.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(n.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}),n.componentName="SpriteAnimation",s([t.Field(),c("design:type",String)],n.prototype,"resource",void 0),s([t.Field(),c("design:type",Boolean)],n.prototype,"autoPlay",void 0),s([t.Field({step:10}),c("design:type",Number)],n.prototype,"speed",void 0),s([t.Field(),c("design:type",Boolean)],n.prototype,"forwards",void 0),n}(e.Component),d=l;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||{},p=a.animations||{},l={};for(var d in c){l[t+"_s|r|c_"+d]=c[d]}for(var d in p){var m=[];if(p[d]&&p[d].length>=0)try{for(var f=(r=void 0,u(p[d])),h=f.next();!h.done;h=f.next()){var y=h.value,v=t+"_s|r|c_"+y;m.push(v)}}catch(e){r={error:e}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(r)throw r.error}}p[d]=m}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=u(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 m=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,i,a;return p(this,(function(s){switch(s.label){case 0:return n=t.gameObject.id,"SpriteAnimation"!==t.componentName?[3,7]:(r=t.component,this.autoPlay[t.gameObject.id]=r.autoPlay,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(i=this.increaseAsyncId(n),[4,e.resource.getResource(r.resource)]));case 1:return o=s.sent().instance,this.validateAsyncId(n,i)?(o||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.add({frames:o,id:t.gameObject.id,component:r}),[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/r.speed,[3,5]):[3,3];case 3:return i=this.increaseAsyncId(n),[4,e.resource.getResource(r.resource)];case 4:if(a=s.sent().instance,!this.validateAsyncId(n,i))return[2];a||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.change({frames:a,id:t.gameObject.id,component:r}),s.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(n),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(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];n&&(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=d,exports.SpriteAnimationSystem=m;
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])})(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);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,s=o.BaseTexture.from(r.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 d=[];if(u[m]&&u[m].length>=0)try{for(var f=(n=void 0,p(u[m])),h=f.next();!h.done;h=f.next()){var y=h.value,v=t+"_s|r|c_"+y;d.push(v)}}catch(e){n={error:e}}finally{try{h&&!h.done&&(i=f.return)&&i.call(f)}finally{if(n)throw n.error}}u[m]=d}a.frames=l;var g=new o.Spritesheet(s,a);g.parse((function(){var t=g.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 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(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({children:!0}),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=u,exports.SpriteAnimationSystem=l;
@@ -1,5 +1,5 @@
1
1
  import { Component, resource, RESOURCE_TYPE, decorators, OBSERVER_TYPE } from '@eva/eva.js';
2
- import { Field } from '@eva/inspector-decorator';
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
5
  import { BaseTexture, Spritesheet } from 'pixi.js';
@@ -40,10 +40,6 @@ function __decorate(decorators, target, key, desc) {
40
40
  return c > 3 && r && Object.defineProperty(target, key, r), r;
41
41
  }
42
42
 
43
- function __metadata(metadataKey, metadataValue) {
44
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
45
- }
46
-
47
43
  function __awaiter(thisArg, _arguments, P, generator) {
48
44
  return new (P || (P = Promise))(function (resolve, reject) {
49
45
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -191,20 +187,17 @@ var SpriteAnimation$2 = (function (_super) {
191
187
  });
192
188
  SpriteAnimation.componentName = 'SpriteAnimation';
193
189
  __decorate([
194
- Field(),
195
- __metadata("design:type", String)
190
+ type('string')
196
191
  ], SpriteAnimation.prototype, "resource", void 0);
197
192
  __decorate([
198
- Field(),
199
- __metadata("design:type", Boolean)
193
+ type('boolean')
200
194
  ], SpriteAnimation.prototype, "autoPlay", void 0);
201
195
  __decorate([
202
- Field({ step: 10 }),
203
- __metadata("design:type", Number)
196
+ type('number'),
197
+ step(10)
204
198
  ], SpriteAnimation.prototype, "speed", void 0);
205
199
  __decorate([
206
- Field(),
207
- __metadata("design:type", Boolean)
200
+ type('boolean')
208
201
  ], SpriteAnimation.prototype, "forwards", void 0);
209
202
  return SpriteAnimation;
210
203
  }(Component));
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-renderer-sprite-animation.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["SpriteAnimation","SpriteAnimationEngine"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-sprite-animation",
3
- "version": "1.2.7-editor.9",
3
+ "version": "1.2.7-fix.5",
4
4
  "description": "@eva/plugin-renderer-sprite-animation",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite-animation.esm.js",
@@ -18,10 +18,10 @@
18
18
  "license": "MIT",
19
19
  "homepage": "https://eva.js.org",
20
20
  "dependencies": {
21
- "@eva/inspector-decorator": "0.1.0-alpha.2",
22
- "@eva/plugin-renderer": "1.2.7-editor.9",
23
- "@eva/renderer-adapter": "1.2.7-editor.9",
24
- "@eva/eva.js": "1.2.7-editor.9",
21
+ "@eva/inspector-decorator": "^0.0.5",
22
+ "@eva/plugin-renderer": "1.2.7-fix.5",
23
+ "@eva/renderer-adapter": "1.2.7-fix.5",
24
+ "@eva/eva.js": "1.2.7-fix.5",
25
25
  "pixi.js": "^4.8.7"
26
26
  }
27
27
  }