@eva/plugin-renderer-sprite 1.2.7-editor.1 → 1.2.7-editor.10

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.
@@ -12,7 +12,7 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
12
12
  d.__proto__ = b;
13
13
  } || function (d, b) {
14
14
  for (var p in b) {
15
- if (b.hasOwnProperty(p)) d[p] = b[p];
15
+ if (Object.prototype.hasOwnProperty.call(b, p)) d[p] = b[p];
16
16
  }
17
17
  };
18
18
 
@@ -20,6 +20,8 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
20
20
  };
21
21
 
22
22
  function __extends(d, b) {
23
+ if (typeof b !== "function" && b !== null) throw new TypeError("Class extends value " + String(b) + " is not a constructor or null");
24
+
23
25
  _extendStatics(d, b);
24
26
 
25
27
  function __() {
@@ -29,6 +31,22 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
29
31
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
30
32
  }
31
33
 
34
+ var _assign = function __assign() {
35
+ _assign = Object.assign || function __assign(t) {
36
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
37
+ s = arguments[i];
38
+
39
+ for (var p in s) {
40
+ if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
41
+ }
42
+ }
43
+
44
+ return t;
45
+ };
46
+
47
+ return _assign.apply(this, arguments);
48
+ };
49
+
32
50
  function __decorate(decorators, target, key, desc) {
33
51
  var c = arguments.length,
34
52
  r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
@@ -39,6 +57,10 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
39
57
  return c > 3 && r && Object.defineProperty(target, key, r), r;
40
58
  }
41
59
 
60
+ function __metadata(metadataKey, metadataValue) {
61
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
62
+ }
63
+
42
64
  function __awaiter(thisArg, _arguments, P, generator) {
43
65
  function adopt(value) {
44
66
  return value instanceof P ? value : new P(function (resolve) {
@@ -199,27 +221,123 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
199
221
  throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
200
222
  }
201
223
 
202
- function getIDEPropsPropertyObj(target, propertyKey) {
203
- if (!target.constructor.IDEProps) {
204
- target.constructor.IDEProps = {};
224
+ var SymbolKeysNotSupportedError = function (_super) {
225
+ __extends(SymbolKeysNotSupportedError, _super);
226
+
227
+ function SymbolKeysNotSupportedError() {
228
+ var _newTarget = this.constructor;
229
+
230
+ var _this = _super.call(this, 'Symbol keys are not supported yet!') || this;
231
+
232
+ Object.setPrototypeOf(_this, _newTarget.prototype);
233
+ return _this;
234
+ }
235
+
236
+ return SymbolKeysNotSupportedError;
237
+ }(Error);
238
+
239
+ (function (_super) {
240
+ __extends(StaticGetPropertiesIsNotAFunctionError, _super);
241
+
242
+ function StaticGetPropertiesIsNotAFunctionError() {
243
+ var _newTarget = this.constructor;
244
+
245
+ var _this = _super.call(this, 'getProperties is not a function!') || this;
246
+
247
+ Object.setPrototypeOf(_this, _newTarget.prototype);
248
+ return _this;
249
+ }
250
+
251
+ return StaticGetPropertiesIsNotAFunctionError;
252
+ })(Error);
253
+
254
+ var IDE_PROPERTY_METADATA = 'IDE_PROPERTY_METADATA';
255
+
256
+ function transformBasicType(type) {
257
+ if (type === String) {
258
+ return 'string';
259
+ }
260
+
261
+ if (type === Number) {
262
+ return 'number';
205
263
  }
206
264
 
207
- if (!target.constructor.IDEProps[propertyKey]) {
208
- target.constructor.IDEProps[propertyKey] = {};
265
+ if (type === Boolean) {
266
+ return 'boolean';
209
267
  }
210
268
 
211
- var propertyObj = target.constructor.IDEProps[propertyKey];
212
- return propertyObj;
269
+ return 'unknown';
213
270
  }
214
271
 
215
- function type(type) {
272
+ function defineTypes(target, key, options, returnTypeFunction) {
273
+ var type = Reflect.getMetadata('design:type', target, key);
274
+ var isArray = type === Array;
275
+ var str = transformBasicType(type);
276
+
277
+ if (str !== 'unknown') {
278
+ type = str;
279
+ }
280
+
281
+ if (returnTypeFunction) {
282
+ var returnType = returnTypeFunction();
283
+
284
+ if (Array.isArray(returnType)) {
285
+ isArray = true;
286
+ type = returnType[0];
287
+ } else {
288
+ type = returnType;
289
+ }
290
+ }
291
+
292
+ var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target.constructor) || {};
293
+ properties[key] = _assign({
294
+ type: type,
295
+ isArray: isArray
296
+ }, options);
297
+ Reflect.defineMetadata(IDE_PROPERTY_METADATA, properties, target.constructor);
298
+ }
299
+
300
+ function getTypeDecoratorParams(returnTypeFuncOrOptions, maybeOptions) {
301
+ if (typeof returnTypeFuncOrOptions === 'function') {
302
+ return {
303
+ returnTypeFunc: returnTypeFuncOrOptions,
304
+ options: maybeOptions || {}
305
+ };
306
+ }
307
+
308
+ return {
309
+ options: returnTypeFuncOrOptions || {}
310
+ };
311
+ }
312
+
313
+ function Field(returnTypeFunction, maybeOptions) {
216
314
  return function (target, propertyKey) {
217
- var prop = getIDEPropsPropertyObj(target, propertyKey);
218
- prop.key = propertyKey;
219
- prop.type = type;
315
+ if (typeof propertyKey === 'symbol') {
316
+ throw new SymbolKeysNotSupportedError();
317
+ }
318
+
319
+ var _a = getTypeDecoratorParams(returnTypeFunction, maybeOptions),
320
+ options = _a.options,
321
+ returnTypeFunc = _a.returnTypeFunc;
322
+
323
+ defineTypes(target, propertyKey, options, returnTypeFunc);
220
324
  };
221
325
  }
222
326
 
327
+ var ExecuteMode;
328
+
329
+ (function (ExecuteMode) {
330
+ ExecuteMode[ExecuteMode["Edit"] = 2] = "Edit";
331
+ ExecuteMode[ExecuteMode["Game"] = 4] = "Game";
332
+ ExecuteMode[ExecuteMode["All"] = 6] = "All";
333
+ })(ExecuteMode || (ExecuteMode = {}));
334
+
335
+ var sleep = function sleep(time) {
336
+ return new Promise(function (resolve) {
337
+ return setTimeout(resolve, time);
338
+ });
339
+ };
340
+
223
341
  var Sprite$3 = function (_super) {
224
342
  __extends(Sprite, _super);
225
343
 
@@ -240,9 +358,47 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
240
358
 
241
359
  Sprite.componentName = 'Sprite';
242
360
 
243
- __decorate([type('string')], Sprite.prototype, "resource", void 0);
361
+ __decorate([Field({
362
+ type: 'resource'
363
+ }), __metadata("design:type", String)], Sprite.prototype, "resource", void 0);
364
+
365
+ __decorate([Field({
366
+ type: 'selector',
367
+ options: function options(instance) {
368
+ var _a, _b, _c;
369
+
370
+ return __awaiter(this, void 0, void 0, function () {
371
+ var frames;
372
+ return __generator(this, function (_d) {
373
+ switch (_d.label) {
374
+ case 0:
375
+ return [4, sleep(0)];
376
+
377
+ case 1:
378
+ _d.sent();
244
379
 
245
- __decorate([type('string')], Sprite.prototype, "spriteName", void 0);
380
+ if (!instance.resource || !eva_js.resource.promiseMap[instance.resource]) {
381
+ return [2, {}];
382
+ }
383
+
384
+ return [4, eva_js.resource.promiseMap[instance.resource]];
385
+
386
+ case 2:
387
+ _d.sent();
388
+
389
+ frames = (_c = (_b = (_a = eva_js.resource.resourcesMap[instance.resource]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.json) === null || _c === void 0 ? void 0 : _c.frames;
390
+ return [2, frames ? Object.values(frames).map(function (item) {
391
+ return item.name;
392
+ }).reduce(function (prev, key) {
393
+ var _a;
394
+
395
+ return _assign(_assign({}, prev), (_a = {}, _a[key] = key, _a));
396
+ }, {}) : {}];
397
+ }
398
+ });
399
+ });
400
+ }
401
+ }), __metadata("design:type", String)], Sprite.prototype, "spriteName", void 0);
246
402
 
247
403
  return Sprite;
248
404
  }(eva_js.Component);
@@ -1 +1 @@
1
- window.EVA=window.EVA||{},window.EVA.plugin=window.EVA.plugin||{},window.EVA.plugin.renderer=window.EVA.plugin.renderer||{};var _EVA_IIFE_sprite=function(e,t,r,n){"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 r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function o(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 i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s}function a(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function u(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function p(e){return function(t,r){var n=function(e,t){return e.constructor.IDEProps||(e.constructor.IDEProps={}),e.constructor.IDEProps[t]||(e.constructor.IDEProps[t]={}),e.constructor.IDEProps[t]}(t,r);n.key=r,n.type=e}}var l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.spriteName="",t}return o(t,e),t.prototype.init=function(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)},t.componentName="Sprite",s([p("string")],t.prototype,"resource",void 0),s([p("string")],t.prototype,"spriteName",void 0),t}(t.Component),f=function(){function e(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=n.Sprite.from(e):e instanceof n.Texture&&(this.sprite=new n.Sprite(e)):this.sprite=new n.Sprite}return Object.defineProperty(e.prototype,"image",{get:function(){return this._image},set:function(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=n.Texture.from(e)):e instanceof n.Texture&&(this.sprite.texture=e),this._image=e)},enumerable:!1,configurable:!0}),e}(),d="_s|r|c_";t.resource.registerInstance(t.RESOURCE_TYPE.SPRITE,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var i,o,s=r.json,a=n.BaseTexture.from(r.image),c=s.frames||{},p=s.animations||{},l={};for(var f in c){l[t+d+f]=c[f]}for(var f in p){var h=[];if(p[f]&&p[f].length>=0)try{for(var m=(i=void 0,u(p[f])),y=m.next();!y.done;y=m.next()){var g=y.value,v=t+d+g;h.push(v)}}catch(e){i={error:e}}finally{try{y&&!y.done&&(o=m.return)&&o.call(m)}finally{if(i)throw i.error}}p[f]=h}s.frames=l;var b=new n.Spritesheet(a,s);b.parse((function(){var t=b.textures;e(t)}))}))})),t.resource.registerDestroy(t.RESOURCE_TYPE.SPRITE,(function(e){var t=e.instance;if(t)for(var r in t)t[r].destroy(!0)}));var h=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Sprite",t.sprites={},t}return o(n,e),n.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=n)},n.prototype.componentChanged=function(e){return a(this,void 0,void 0,(function(){var r,n,i,o,s;return c(this,(function(a){switch(a.label){case 0:return"Sprite"!==e.componentName?[3,5]:(r=e.gameObject.id,n=e.component,e.type!==t.OBSERVER_TYPE.ADD?[3,2]:(s=new f(null),this.sprites[e.gameObject.id]=s,this.containerManager.getContainer(e.gameObject.id).addChildAt(s.sprite,0),i=this.increaseAsyncId(r),[4,t.resource.getResource(n.resource)]));case 1:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(s.image=o[n.resource+d+n.spriteName],[3,5]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 2:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,4]:(i=this.increaseAsyncId(r),[4,t.resource.getResource(n.resource)]);case 3:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(this.sprites[e.gameObject.id].image=o[n.resource+d+n.spriteName],[3,5]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 4:e.type===t.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.sprites[e.gameObject.id],this.containerManager.getContainer(e.gameObject.id).removeChild(s.sprite),s.sprite.destroy({children:!0}),delete this.sprites[e.gameObject.id]),a.label=5;case 5:return[2]}}))}))},n.systemName="Sprite",n=s([t.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer);return e.Sprite=l,e.SpriteSystem=h,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,PIXI);window.EVA.plugin.renderer.sprite=window.EVA.plugin.renderer.sprite||_EVA_IIFE_sprite;
1
+ window.EVA=window.EVA||{},window.EVA.plugin=window.EVA.plugin||{},window.EVA.plugin.renderer=window.EVA.plugin.renderer||{};var _EVA_IIFE_sprite=function(e,t,r,n){"use strict";var o=function(e,t){return o=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},o(e,t)};function i(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var o in t=arguments[r])Object.prototype.hasOwnProperty.call(t,o)&&(e[o]=t[o]);return e},s.apply(this,arguments)};function a(e,t,r,n){var o,i=arguments.length,s=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(i<3?o(s):i>3?o(t,r,s):o(t,r))||s);return i>3&&s&&Object.defineProperty(t,r,s),s}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,n){return new(r||(r=Promise))((function(o,i){function s(e){try{c(n.next(e))}catch(e){i(e)}}function a(e){try{c(n.throw(e))}catch(e){i(e)}}function c(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(s,a)}c((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)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 s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=t.call(e,s)}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,a])}}}function l(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}var f=function(e){function t(){var t=this.constructor,r=e.call(this,"Symbol keys are not supported yet!")||this;return Object.setPrototypeOf(r,t.prototype),r}return i(t,e),t}(Error);!function(e){function t(){var t=this.constructor,r=e.call(this,"getProperties is not a function!")||this;return Object.setPrototypeOf(r,t.prototype),r}i(t,e)}(Error);var d,y="IDE_PROPERTY_METADATA";function h(e,t,r,n){var o=Reflect.getMetadata("design:type",e,t),i=o===Array,a=function(e){return e===String?"string":e===Number?"number":e===Boolean?"boolean":"unknown"}(o);if("unknown"!==a&&(o=a),n){var c=n();Array.isArray(c)?(i=!0,o=c[0]):o=c}var u=Reflect.getMetadata(y,e.constructor)||{};u[t]=s({type:o,isArray:i},r),Reflect.defineMetadata(y,u,e.constructor)}function m(e,t){return function(r,n){if("symbol"==typeof n)throw new f;var o=function(e,t){return"function"==typeof e?{returnTypeFunc:e,options:t||{}}:{options:e||{}}}(e,t);h(r,n,o.options,o.returnTypeFunc)}}!function(e){e[e.Edit=2]="Edit",e[e.Game=4]="Game",e[e.All=6]="All"}(d||(d={}));var v=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.spriteName="",t}return i(r,e),r.prototype.init=function(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)},r.componentName="Sprite",a([m({type:"resource"}),c("design:type",String)],r.prototype,"resource",void 0),a([m({type:"selector",options:function(e){var r,n,o;return u(this,void 0,void 0,(function(){var i;return p(this,(function(a){switch(a.label){case 0:return[4,(c=0,new Promise((function(e){return setTimeout(e,c)})))];case 1:return a.sent(),e.resource&&t.resource.promiseMap[e.resource]?[4,t.resource.promiseMap[e.resource]]:[2,{}];case 2:return a.sent(),[2,(i=null===(o=null===(n=null===(r=t.resource.resourcesMap[e.resource])||void 0===r?void 0:r.data)||void 0===n?void 0:n.json)||void 0===o?void 0:o.frames)?Object.values(i).map((function(e){return e.name})).reduce((function(e,t){var r;return s(s({},e),((r={})[t]=t,r))}),{}):{}]}var c}))}))}}),c("design:type",String)],r.prototype,"spriteName",void 0),r}(t.Component),g=v,b=function(){function e(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=n.Sprite.from(e):e instanceof n.Texture&&(this.sprite=new n.Sprite(e)):this.sprite=new n.Sprite}return Object.defineProperty(e.prototype,"image",{get:function(){return this._image},set:function(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=n.Texture.from(e)):e instanceof n.Texture&&(this.sprite.texture=e),this._image=e)},enumerable:!1,configurable:!0}),e}(),w=b,E="_s|r|c_";t.resource.registerInstance(t.RESOURCE_TYPE.SPRITE,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var o,i,s=r.json,a=n.BaseTexture.from(r.image),c=s.frames||{},u=s.animations||{},p={};for(var f in c){p[t+E+f]=c[f]}for(var f in u){var d=[];if(u[f]&&u[f].length>=0)try{for(var y=(o=void 0,l(u[f])),h=y.next();!h.done;h=y.next()){var m=h.value,v=t+E+m;d.push(v)}}catch(e){o={error:e}}finally{try{h&&!h.done&&(i=y.return)&&i.call(y)}finally{if(o)throw o.error}}u[f]=d}s.frames=p;var g=new n.Spritesheet(a,s);g.parse((function(){var t=g.textures;e(t)}))}))})),t.resource.registerDestroy(t.RESOURCE_TYPE.SPRITE,(function(e){var t=e.instance;if(t)for(var r in t)t[r].destroy(!0)}));var O=function(e){function n(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Sprite",t.sprites={},t}return i(n,e),n.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=n)},n.prototype.componentChanged=function(e){return u(this,void 0,void 0,(function(){var r,n,o,i,s;return p(this,(function(a){switch(a.label){case 0:return"Sprite"!==e.componentName?[3,5]:(r=e.gameObject.id,n=e.component,e.type!==t.OBSERVER_TYPE.ADD?[3,2]:(s=new w(null),this.sprites[e.gameObject.id]=s,this.containerManager.getContainer(e.gameObject.id).addChildAt(s.sprite,0),o=this.increaseAsyncId(r),[4,t.resource.getResource(n.resource)]));case 1:return i=a.sent().instance,this.validateAsyncId(r,o)?i?(s.image=i[n.resource+E+n.spriteName],[3,5]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 2:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,4]:(o=this.increaseAsyncId(r),[4,t.resource.getResource(n.resource)]);case 3:return i=a.sent().instance,this.validateAsyncId(r,o)?i?(this.sprites[e.gameObject.id].image=i[n.resource+E+n.spriteName],[3,5]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 4:e.type===t.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.sprites[e.gameObject.id],this.containerManager.getContainer(e.gameObject.id).removeChild(s.sprite),s.sprite.destroy({children:!0}),delete this.sprites[e.gameObject.id]),a.label=5;case 5:return[2]}}))}))},n.systemName="Sprite",n=a([t.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer),S=O;return e.Sprite=g,e.SpriteSystem=S,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,PIXI);window.EVA.plugin.renderer.sprite=window.EVA.plugin.renderer.sprite||_EVA_IIFE_sprite;
@@ -36,6 +36,17 @@ function __extends(d, b) {
36
36
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
37
37
  }
38
38
 
39
+ var __assign = function() {
40
+ __assign = Object.assign || function __assign(t) {
41
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
42
+ s = arguments[i];
43
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
44
+ }
45
+ return t;
46
+ };
47
+ return __assign.apply(this, arguments);
48
+ };
49
+
39
50
  function __decorate(decorators, target, key, desc) {
40
51
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
41
52
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -43,6 +54,10 @@ function __decorate(decorators, target, key, desc) {
43
54
  return c > 3 && r && Object.defineProperty(target, key, r), r;
44
55
  }
45
56
 
57
+ function __metadata(metadataKey, metadataValue) {
58
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
59
+ }
60
+
46
61
  function __awaiter(thisArg, _arguments, P, generator) {
47
62
  return new (P || (P = Promise))(function (resolve, reject) {
48
63
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -91,6 +106,7 @@ function __values(o) {
91
106
  };
92
107
  }
93
108
 
109
+ var sleep = function (time) { return new Promise(function (resolve) { return setTimeout(resolve, time); }); };
94
110
  var Sprite$3 = (function (_super) {
95
111
  __extends(Sprite, _super);
96
112
  function Sprite() {
@@ -107,10 +123,42 @@ var Sprite$3 = (function (_super) {
107
123
  };
108
124
  Sprite.componentName = 'Sprite';
109
125
  __decorate([
110
- inspectorDecorator.type('string')
126
+ inspectorDecorator.Field({ type: 'resource' }),
127
+ __metadata("design:type", String)
111
128
  ], Sprite.prototype, "resource", void 0);
112
129
  __decorate([
113
- inspectorDecorator.type('string')
130
+ inspectorDecorator.Field({
131
+ type: 'selector',
132
+ options: function (instance) {
133
+ var _a, _b, _c;
134
+ return __awaiter(this, void 0, void 0, function () {
135
+ var frames;
136
+ return __generator(this, function (_d) {
137
+ switch (_d.label) {
138
+ case 0: return [4, sleep(0)];
139
+ case 1:
140
+ _d.sent();
141
+ if (!instance.resource || !eva_js.resource.promiseMap[instance.resource]) {
142
+ return [2, {}];
143
+ }
144
+ return [4, eva_js.resource.promiseMap[instance.resource]];
145
+ case 2:
146
+ _d.sent();
147
+ frames = (_c = (_b = (_a = eva_js.resource.resourcesMap[instance.resource]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.json) === null || _c === void 0 ? void 0 : _c.frames;
148
+ return [2, frames
149
+ ? Object.values(frames)
150
+ .map(function (item) { return item.name; })
151
+ .reduce(function (prev, key) {
152
+ var _a;
153
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = key, _a)));
154
+ }, {})
155
+ : {}];
156
+ }
157
+ });
158
+ });
159
+ },
160
+ }),
161
+ __metadata("design:type", String)
114
162
  ], Sprite.prototype, "spriteName", void 0);
115
163
  return Sprite;
116
164
  }(eva_js.Component));
@@ -1 +1 @@
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("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 o(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 i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s}function a(e,t){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function c(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.spriteName="",t}return o(r,e),r.prototype.init=function(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)},r.componentName="Sprite",s([t.type("string")],r.prototype,"resource",void 0),s([t.type("string")],r.prototype,"spriteName",void 0),r}(e.Component),p=function(){function e(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=n.Sprite.from(e):e instanceof n.Texture&&(this.sprite=new n.Sprite(e)):this.sprite=new n.Sprite}return Object.defineProperty(e.prototype,"image",{get:function(){return this._image},set:function(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=n.Texture.from(e)):e instanceof n.Texture&&(this.sprite.texture=e),this._image=e)},enumerable:!1,configurable:!0}),e}();e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var i,o,s=r.json,a=n.BaseTexture.from(r.image),u=s.frames||{},p=s.animations||{},l={};for(var f in u){l[t+"_s|r|c_"+f]=u[f]}for(var f in p){var h=[];if(p[f]&&p[f].length>=0)try{for(var m=(i=void 0,c(p[f])),d=m.next();!d.done;d=m.next()){var y=d.value,g=t+"_s|r|c_"+y;h.push(g)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(o=m.return)&&o.call(m)}finally{if(i)throw i.error}}p[f]=h}s.frames=l;var v=new n.Spritesheet(a,s);v.parse((function(){var t=v.textures;e(t)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.instance;if(t)for(var r in t)t[r].destroy(!0)}));var l=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="Sprite",e.sprites={},e}return o(n,t),n.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=n)},n.prototype.componentChanged=function(t){return r=this,n=void 0,o=function(){var r,n,i,o,s;return a(this,(function(a){switch(a.label){case 0:return"Sprite"!==t.componentName?[3,5]:(r=t.gameObject.id,n=t.component,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(s=new p(null),this.sprites[t.gameObject.id]=s,this.containerManager.getContainer(t.gameObject.id).addChildAt(s.sprite,0),i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]));case 1:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(s.image=o[n.resource+"_s|r|c_"+n.spriteName],[3,5]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,4]:(i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]);case 3:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(this.sprites[t.gameObject.id].image=o[n.resource+"_s|r|c_"+n.spriteName],[3,5]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 4:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.sprites[t.gameObject.id],this.containerManager.getContainer(t.gameObject.id).removeChild(s.sprite),s.sprite.destroy({children:!0}),delete this.sprites[t.gameObject.id]),a.label=5;case 5:return[2]}}))},new((i=void 0)||(i=Promise))((function(e,t){function s(e){try{c(o.next(e))}catch(e){t(e)}}function a(e){try{c(o.throw(e))}catch(e){t(e)}}function c(t){t.done?e(t.value):new i((function(e){e(t.value)})).then(s,a)}c((o=o.apply(r,n||[])).next())}));var r,n,i,o},n.systemName="Sprite",n=s([e.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer);exports.Sprite=u,exports.SpriteSystem=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("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 o(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}var s=function(){return s=Object.assign||function(e){for(var t,r=1,n=arguments.length;r<n;r++)for(var i in t=arguments[r])Object.prototype.hasOwnProperty.call(t,i)&&(e[i]=t[i]);return e},s.apply(this,arguments)};function a(e,t,r,n){var i,o=arguments.length,s=o<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var a=e.length-1;a>=0;a--)(i=e[a])&&(s=(o<3?i(s):o>3?i(t,r,s):i(t,r))||s);return o>3&&s&&Object.defineProperty(t,r,s),s}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function u(e,t,r,n){return new(r||(r=Promise))((function(i,o){function s(e){try{c(n.next(e))}catch(e){o(e)}}function a(e){try{c(n.throw(e))}catch(e){o(e)}}function c(e){e.done?i(e.value):new r((function(t){t(e.value)})).then(s,a)}c((n=n.apply(e,t||[])).next())}))}function p(e,t){var r,n,i,o,s={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function a(o){return function(a){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(i=2&o[0]?n.return:o[0]?n.throw||((i=n.return)&&i.call(n),0):n.next)&&!(i=i.call(n,o[1])).done)return i;switch(n=0,i&&(o=[2&o[0],i.value]),o[0]){case 0:case 1:i=o;break;case 4:return s.label++,{value:o[1],done:!1};case 5:s.label++,n=o[1],o=[0];continue;case 7:o=s.ops.pop(),s.trys.pop();continue;default:if(!(i=s.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){s=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){s.label=o[1];break}if(6===o[0]&&s.label<i[1]){s.label=i[1],i=o;break}if(i&&s.label<i[2]){s.label=i[2],s.ops.push(o);break}i[2]&&s.ops.pop(),s.trys.pop();continue}o=t.call(e,s)}catch(e){o=[6,e],n=0}finally{r=i=0}if(5&o[0])throw o[1];return{value:o[0]?o[1]:void 0,done:!0}}([o,a])}}}function l(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 f=function(r){function n(){var e=null!==r&&r.apply(this,arguments)||this;return e.resource="",e.spriteName="",e}return o(n,r),n.prototype.init=function(e){e&&e.resource&&(this.resource=e.resource,this.spriteName=e.spriteName)},n.componentName="Sprite",a([t.Field({type:"resource"}),c("design:type",String)],n.prototype,"resource",void 0),a([t.Field({type:"selector",options:function(t){var r,n,i;return u(this,void 0,void 0,(function(){var o;return p(this,(function(a){switch(a.label){case 0:return[4,(c=0,new Promise((function(e){return setTimeout(e,c)})))];case 1:return a.sent(),t.resource&&e.resource.promiseMap[t.resource]?[4,e.resource.promiseMap[t.resource]]:[2,{}];case 2:return a.sent(),[2,(o=null===(i=null===(n=null===(r=e.resource.resourcesMap[t.resource])||void 0===r?void 0:r.data)||void 0===n?void 0:n.json)||void 0===i?void 0:i.frames)?Object.values(o).map((function(e){return e.name})).reduce((function(e,t){var r;return s(s({},e),((r={})[t]=t,r))}),{}):{}]}var c}))}))}}),c("design:type",String)],n.prototype,"spriteName",void 0),n}(e.Component),d=f,h=function(){function e(e){this._image=null,this._image=e,e?e instanceof HTMLImageElement?this.sprite=n.Sprite.from(e):e instanceof n.Texture&&(this.sprite=new n.Sprite(e)):this.sprite=new n.Sprite}return Object.defineProperty(e.prototype,"image",{get:function(){return this._image},set:function(e){this._image!==e&&(e instanceof HTMLImageElement?(this.sprite.texture&&this.sprite.texture.destroy(!1),this.sprite.texture=n.Texture.from(e)):e instanceof n.Texture&&(this.sprite.texture=e),this._image=e)},enumerable:!1,configurable:!0}),e}(),m=h;e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var i,o,s=r.json,a=n.BaseTexture.from(r.image),c=s.frames||{},u=s.animations||{},p={};for(var f in c){p[t+"_s|r|c_"+f]=c[f]}for(var f in u){var d=[];if(u[f]&&u[f].length>=0)try{for(var h=(i=void 0,l(u[f])),m=h.next();!m.done;m=h.next()){var y=m.value,v=t+"_s|r|c_"+y;d.push(v)}}catch(e){i={error:e}}finally{try{m&&!m.done&&(o=h.return)&&o.call(h)}finally{if(i)throw i.error}}u[f]=d}s.frames=p;var g=new n.Spritesheet(a,s);g.parse((function(){var t=g.textures;e(t)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE,(function(e){var t=e.instance;if(t)for(var r in t)t[r].destroy(!0)}));var y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="Sprite",e.sprites={},e}return o(n,t),n.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},n.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.sprites[e.id]&&(this.sprites[e.id].sprite.width=r,this.sprites[e.id].sprite.height=n)},n.prototype.componentChanged=function(t){return u(this,void 0,void 0,(function(){var r,n,i,o,s;return p(this,(function(a){switch(a.label){case 0:return"Sprite"!==t.componentName?[3,5]:(r=t.gameObject.id,n=t.component,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:(s=new m(null),this.sprites[t.gameObject.id]=s,this.containerManager.getContainer(t.gameObject.id).addChildAt(s.sprite,0),i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]));case 1:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(s.image=o[n.resource+"_s|r|c_"+n.spriteName],[3,5]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,4]:(i=this.increaseAsyncId(r),[4,e.resource.getResource(n.resource)]);case 3:return o=a.sent().instance,this.validateAsyncId(r,i)?o?(this.sprites[t.gameObject.id].image=o[n.resource+"_s|r|c_"+n.spriteName],[3,5]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2]):[2];case 4:t.type===e.OBSERVER_TYPE.REMOVE&&(this.increaseAsyncId(r),s=this.sprites[t.gameObject.id],this.containerManager.getContainer(t.gameObject.id).removeChild(s.sprite),s.sprite.destroy({children:!0}),delete this.sprites[t.gameObject.id]),a.label=5;case 5:return[2]}}))}))},n.systemName="Sprite",n=a([e.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer);exports.Sprite=d,exports.SpriteSystem=y;
@@ -1,5 +1,5 @@
1
1
  import { Component, resource, RESOURCE_TYPE, decorators, OBSERVER_TYPE } from '@eva/eva.js';
2
- import { type } from '@eva/inspector-decorator';
2
+ import { Field } from '@eva/inspector-decorator';
3
3
  import { RendererSystem, Renderer } from '@eva/plugin-renderer';
4
4
  import { Texture, Sprite as Sprite$5, BaseTexture, Spritesheet } from 'pixi.js';
5
5
 
@@ -32,6 +32,17 @@ function __extends(d, b) {
32
32
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
33
33
  }
34
34
 
35
+ var __assign = function() {
36
+ __assign = Object.assign || function __assign(t) {
37
+ for (var s, i = 1, n = arguments.length; i < n; i++) {
38
+ s = arguments[i];
39
+ for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
40
+ }
41
+ return t;
42
+ };
43
+ return __assign.apply(this, arguments);
44
+ };
45
+
35
46
  function __decorate(decorators, target, key, desc) {
36
47
  var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
37
48
  if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
@@ -39,6 +50,10 @@ function __decorate(decorators, target, key, desc) {
39
50
  return c > 3 && r && Object.defineProperty(target, key, r), r;
40
51
  }
41
52
 
53
+ function __metadata(metadataKey, metadataValue) {
54
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
55
+ }
56
+
42
57
  function __awaiter(thisArg, _arguments, P, generator) {
43
58
  return new (P || (P = Promise))(function (resolve, reject) {
44
59
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -87,6 +102,7 @@ function __values(o) {
87
102
  };
88
103
  }
89
104
 
105
+ var sleep = function (time) { return new Promise(function (resolve) { return setTimeout(resolve, time); }); };
90
106
  var Sprite$3 = (function (_super) {
91
107
  __extends(Sprite, _super);
92
108
  function Sprite() {
@@ -103,10 +119,42 @@ var Sprite$3 = (function (_super) {
103
119
  };
104
120
  Sprite.componentName = 'Sprite';
105
121
  __decorate([
106
- type('string')
122
+ Field({ type: 'resource' }),
123
+ __metadata("design:type", String)
107
124
  ], Sprite.prototype, "resource", void 0);
108
125
  __decorate([
109
- type('string')
126
+ Field({
127
+ type: 'selector',
128
+ options: function (instance) {
129
+ var _a, _b, _c;
130
+ return __awaiter(this, void 0, void 0, function () {
131
+ var frames;
132
+ return __generator(this, function (_d) {
133
+ switch (_d.label) {
134
+ case 0: return [4, sleep(0)];
135
+ case 1:
136
+ _d.sent();
137
+ if (!instance.resource || !resource.promiseMap[instance.resource]) {
138
+ return [2, {}];
139
+ }
140
+ return [4, resource.promiseMap[instance.resource]];
141
+ case 2:
142
+ _d.sent();
143
+ frames = (_c = (_b = (_a = resource.resourcesMap[instance.resource]) === null || _a === void 0 ? void 0 : _a.data) === null || _b === void 0 ? void 0 : _b.json) === null || _c === void 0 ? void 0 : _c.frames;
144
+ return [2, frames
145
+ ? Object.values(frames)
146
+ .map(function (item) { return item.name; })
147
+ .reduce(function (prev, key) {
148
+ var _a;
149
+ return (__assign(__assign({}, prev), (_a = {}, _a[key] = key, _a)));
150
+ }, {})
151
+ : {}];
152
+ }
153
+ });
154
+ });
155
+ },
156
+ }),
157
+ __metadata("design:type", String)
110
158
  ], Sprite.prototype, "spriteName", void 0);
111
159
  return Sprite;
112
160
  }(Component));
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-sprite",
3
- "version": "1.2.7-editor.1",
3
+ "version": "1.2.7-editor.10",
4
4
  "description": "@eva/plugin-renderer-sprite",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite.esm.js",
@@ -18,9 +18,9 @@
18
18
  "license": "MIT",
19
19
  "homepage": "https://eva.js.org",
20
20
  "dependencies": {
21
- "@eva/inspector-decorator": "0.1.0-alpha.1",
22
- "@eva/plugin-renderer": "1.2.7-editor.1",
23
- "@eva/eva.js": "1.2.7-editor.1",
21
+ "@eva/inspector-decorator": "0.1.0-alpha.2",
22
+ "@eva/plugin-renderer": "1.2.7-editor.10",
23
+ "@eva/eva.js": "1.2.7-editor.10",
24
24
  "pixi.js": "^4.8.7"
25
25
  }
26
26
  }
@@ -1,197 +0,0 @@
1
- import { __extends, __decorate, __values, __awaiter, __generator } from 'tslib';
2
- import { Component, resource, RESOURCE_TYPE, OBSERVER_TYPE, decorators } from '@eva/eva.js/dist/miniprogram';
3
- import { type } from '@eva/inspector-decorator';
4
- import { RendererSystem, Renderer } from '@eva/plugin-renderer/dist/miniprogram';
5
- import { Sprite as Sprite$4 } from '@eva/renderer-adapter/dist/miniprogram';
6
- import { BaseTexture, Spritesheet } from '@eva/miniprogram-pixi';
7
-
8
- var Sprite$2 = function (_super) {
9
- __extends(Sprite, _super);
10
-
11
- function Sprite() {
12
- var _this = _super !== null && _super.apply(this, arguments) || this;
13
-
14
- _this.resource = '';
15
- _this.spriteName = '';
16
- return _this;
17
- }
18
-
19
- Sprite.prototype.init = function (obj) {
20
- if (obj && obj.resource) {
21
- this.resource = obj.resource;
22
- this.spriteName = obj.spriteName;
23
- }
24
- };
25
-
26
- Sprite.componentName = 'Sprite';
27
-
28
- __decorate([type('string')], Sprite.prototype, "resource", void 0);
29
-
30
- __decorate([type('string')], Sprite.prototype, "spriteName", void 0);
31
-
32
- return Sprite;
33
- }(Component);
34
-
35
- var Sprite$3 = Sprite$2;
36
- var resourceKeySplit = '_s|r|c_';
37
- resource.registerInstance(RESOURCE_TYPE.SPRITE, function (_a) {
38
- var name = _a.name,
39
- data = _a.data;
40
- return new Promise(function (r) {
41
- var e_1, _a;
42
-
43
- var textureObj = data.json;
44
- var texture = BaseTexture.from(data.image);
45
- var frames = textureObj.frames || {};
46
- var animations = textureObj.animations || {};
47
- var newFrames = {};
48
-
49
- for (var key in frames) {
50
- var newKey = name + resourceKeySplit + key;
51
- newFrames[newKey] = frames[key];
52
- }
53
-
54
- for (var key in animations) {
55
- var spriteList = [];
56
-
57
- if (animations[key] && animations[key].length >= 0) {
58
- try {
59
- for (var _b = (e_1 = void 0, __values(animations[key])), _c = _b.next(); !_c.done; _c = _b.next()) {
60
- var spriteName = _c.value;
61
- var newSpriteName = name + resourceKeySplit + spriteName;
62
- spriteList.push(newSpriteName);
63
- }
64
- } catch (e_1_1) {
65
- e_1 = {
66
- error: e_1_1
67
- };
68
- } finally {
69
- try {
70
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
71
- } finally {
72
- if (e_1) throw e_1.error;
73
- }
74
- }
75
- }
76
-
77
- animations[key] = spriteList;
78
- }
79
-
80
- textureObj.frames = newFrames;
81
- var spriteSheet = new Spritesheet(texture, textureObj);
82
- spriteSheet.parse(function () {
83
- var textures = spriteSheet.textures;
84
- r(textures);
85
- });
86
- });
87
- });
88
- resource.registerDestroy(RESOURCE_TYPE.SPRITE, function (_a) {
89
- var instance = _a.instance;
90
- if (!instance) return;
91
-
92
- for (var key in instance) {
93
- instance[key].destroy(true);
94
- }
95
- });
96
-
97
- var Sprite = function (_super) {
98
- __extends(Sprite, _super);
99
-
100
- function Sprite() {
101
- var _this = _super !== null && _super.apply(this, arguments) || this;
102
-
103
- _this.name = 'Sprite';
104
- _this.sprites = {};
105
- return _this;
106
- }
107
-
108
- Sprite.prototype.init = function () {
109
- this.renderSystem = this.game.getSystem(RendererSystem);
110
- this.renderSystem.rendererManager.register(this);
111
- };
112
-
113
- Sprite.prototype.rendererUpdate = function (gameObject) {
114
- var _a = gameObject.transform.size,
115
- width = _a.width,
116
- height = _a.height;
117
-
118
- if (this.sprites[gameObject.id]) {
119
- this.sprites[gameObject.id].sprite.width = width;
120
- this.sprites[gameObject.id].sprite.height = height;
121
- }
122
- };
123
-
124
- Sprite.prototype.componentChanged = function (changed) {
125
- return __awaiter(this, void 0, void 0, function () {
126
- var gameObjectId, component, sprite, asyncId, instance, asyncId, instance, sprite;
127
- return __generator(this, function (_a) {
128
- switch (_a.label) {
129
- case 0:
130
- if (!(changed.componentName === 'Sprite')) return [3, 5];
131
- gameObjectId = changed.gameObject.id;
132
- component = changed.component;
133
- if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
134
- sprite = new Sprite$4(null);
135
- this.sprites[changed.gameObject.id] = sprite;
136
- this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
137
- asyncId = this.increaseAsyncId(gameObjectId);
138
- return [4, resource.getResource(component.resource)];
139
-
140
- case 1:
141
- instance = _a.sent().instance;
142
- if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
143
-
144
- if (!instance) {
145
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
146
- return [2];
147
- }
148
-
149
- sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
150
- return [3, 5];
151
-
152
- case 2:
153
- if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 4];
154
- asyncId = this.increaseAsyncId(gameObjectId);
155
- return [4, resource.getResource(component.resource)];
156
-
157
- case 3:
158
- instance = _a.sent().instance;
159
- if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
160
-
161
- if (!instance) {
162
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
163
- return [2];
164
- }
165
-
166
- this.sprites[changed.gameObject.id].image = instance[component.resource + resourceKeySplit + component.spriteName];
167
- return [3, 5];
168
-
169
- case 4:
170
- if (changed.type === OBSERVER_TYPE.REMOVE) {
171
- this.increaseAsyncId(gameObjectId);
172
- sprite = this.sprites[changed.gameObject.id];
173
- this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
174
- sprite.sprite.destroy({
175
- children: true
176
- });
177
- delete this.sprites[changed.gameObject.id];
178
- }
179
-
180
- _a.label = 5;
181
-
182
- case 5:
183
- return [2];
184
- }
185
- });
186
- });
187
- };
188
-
189
- Sprite.systemName = 'Sprite';
190
- Sprite = __decorate([decorators.componentObserver({
191
- Sprite: ['spriteName']
192
- })], Sprite);
193
- return Sprite;
194
- }(Renderer);
195
-
196
- var Sprite$1 = Sprite;
197
- export { Sprite$3 as Sprite, Sprite$1 as SpriteSystem };