@eva/plugin-renderer-sprite 1.2.5 → 1.2.7

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.
@@ -380,52 +380,52 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
380
380
 
381
381
  Sprite.prototype.componentChanged = function (changed) {
382
382
  return __awaiter(this, void 0, void 0, function () {
383
- var component_1, sprite_1, instance, sprite;
384
-
385
- var _this = this;
386
-
383
+ var gameObjectId, component, sprite, asyncId, instance, asyncId, instance, sprite;
387
384
  return __generator(this, function (_a) {
388
385
  switch (_a.label) {
389
386
  case 0:
390
- if (!(changed.componentName === 'Sprite')) return [3, 4];
391
- component_1 = changed.component;
392
- if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 1];
393
- sprite_1 = new SpriteEngine(null);
394
- eva_js.resource.getResource(component_1.resource).then(function (_a) {
395
- var instance = _a.instance;
396
- return __awaiter(_this, void 0, void 0, function () {
397
- return __generator(this, function (_b) {
398
- if (!instance) {
399
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
400
- return [2];
401
- }
402
-
403
- sprite_1.image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
404
- return [2];
405
- });
406
- });
407
- });
408
- this.sprites[changed.gameObject.id] = sprite_1;
409
- this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.sprite, 0);
410
- return [3, 4];
387
+ if (!(changed.componentName === 'Sprite')) return [3, 5];
388
+ gameObjectId = changed.gameObject.id;
389
+ component = changed.component;
390
+ if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
391
+ sprite = new SpriteEngine(null);
392
+ this.sprites[changed.gameObject.id] = sprite;
393
+ this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
394
+ asyncId = this.increaseAsyncId(gameObjectId);
395
+ return [4, eva_js.resource.getResource(component.resource)];
411
396
 
412
397
  case 1:
413
- if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 3];
414
- return [4, eva_js.resource.getResource(component_1.resource)];
398
+ instance = _a.sent().instance;
399
+ if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
400
+
401
+ if (!instance) {
402
+ console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
403
+ return [2];
404
+ }
405
+
406
+ sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
407
+ return [3, 5];
415
408
 
416
409
  case 2:
410
+ if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 4];
411
+ asyncId = this.increaseAsyncId(gameObjectId);
412
+ return [4, eva_js.resource.getResource(component.resource)];
413
+
414
+ case 3:
417
415
  instance = _a.sent().instance;
416
+ if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
418
417
 
419
418
  if (!instance) {
420
419
  console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
421
420
  return [2];
422
421
  }
423
422
 
424
- this.sprites[changed.gameObject.id].image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
425
- return [3, 4];
423
+ this.sprites[changed.gameObject.id].image = instance[component.resource + resourceKeySplit + component.spriteName];
424
+ return [3, 5];
426
425
 
427
- case 3:
426
+ case 4:
428
427
  if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
428
+ this.increaseAsyncId(gameObjectId);
429
429
  sprite = this.sprites[changed.gameObject.id];
430
430
  this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
431
431
  sprite.sprite.destroy({
@@ -434,9 +434,9 @@ var _EVA_IIFE_sprite = function (exports, eva_js, pluginRenderer, pixi_js) {
434
434
  delete this.sprites[changed.gameObject.id];
435
435
  }
436
436
 
437
- _a.label = 4;
437
+ _a.label = 5;
438
438
 
439
- case 4:
439
+ case 5:
440
440
  return [2];
441
441
  }
442
442
  });
@@ -1 +1 @@
1
- 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 f=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),l=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}(),h="_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||{},f={};for(var l in c){f[t+h+l]=c[l]}for(var l in p){var m=[];if(p[l]&&p[l].length>=0)try{for(var y=(i=void 0,u(p[l])),d=y.next();!d.done;d=y.next()){var g=d.value,v=t+h+g;m.push(v)}}catch(e){i={error:e}}finally{try{d&&!d.done&&(o=y.return)&&o.call(y)}finally{if(i)throw i.error}}p[l]=m}s.frames=f;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 m=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=this;return c(this,(function(u){switch(u.label){case 0:return"Sprite"!==e.componentName?[3,4]:(r=e.component,e.type!==t.OBSERVER_TYPE.ADD?[3,1]:(n=new l(null),t.resource.getResource(r.resource).then((function(t){var i=t.instance;return a(s,void 0,void 0,(function(){return c(this,(function(t){return i?(n.image=i[r.resource+h+r.spriteName],[2]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2])}))}))})),this.sprites[e.gameObject.id]=n,this.containerManager.getContainer(e.gameObject.id).addChildAt(n.sprite,0),[3,4]));case 1:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,3]:[4,t.resource.getResource(r.resource)];case 2:return(i=u.sent().instance)?(this.sprites[e.gameObject.id].image=i[r.resource+h+r.spriteName],[3,4]):(console.error("GameObject:"+e.gameObject.name+"'s Sprite resource load error"),[2]);case 3:e.type===t.OBSERVER_TYPE.REMOVE&&(o=this.sprites[e.gameObject.id],this.containerManager.getContainer(e.gameObject.id).removeChild(o.sprite),o.sprite.destroy({children:!0}),delete this.sprites[e.gameObject.id]),u.label=4;case 4:return[2]}}))}))},n.systemName="Sprite",n=s([t.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer);return e.Sprite=f,e.SpriteSystem=m,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,PIXI);
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;
@@ -123,52 +123,52 @@ var Sprite = function (_super) {
123
123
 
124
124
  Sprite.prototype.componentChanged = function (changed) {
125
125
  return __awaiter(this, void 0, void 0, function () {
126
- var component_1, sprite_1, instance, sprite;
127
-
128
- var _this = this;
129
-
126
+ var gameObjectId, component, sprite, asyncId, instance, asyncId, instance, sprite;
130
127
  return __generator(this, function (_a) {
131
128
  switch (_a.label) {
132
129
  case 0:
133
- if (!(changed.componentName === 'Sprite')) return [3, 4];
134
- component_1 = changed.component;
135
- if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 1];
136
- sprite_1 = new Sprite$4(null);
137
- resource.getResource(component_1.resource).then(function (_a) {
138
- var instance = _a.instance;
139
- return __awaiter(_this, void 0, void 0, function () {
140
- return __generator(this, function (_b) {
141
- if (!instance) {
142
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
143
- return [2];
144
- }
145
-
146
- sprite_1.image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
147
- return [2];
148
- });
149
- });
150
- });
151
- this.sprites[changed.gameObject.id] = sprite_1;
152
- this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.sprite, 0);
153
- return [3, 4];
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)];
154
139
 
155
140
  case 1:
156
- if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 3];
157
- return [4, resource.getResource(component_1.resource)];
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];
158
151
 
159
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:
160
158
  instance = _a.sent().instance;
159
+ if (!this.validateAsyncId(gameObjectId, asyncId)) return [2];
161
160
 
162
161
  if (!instance) {
163
162
  console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
164
163
  return [2];
165
164
  }
166
165
 
167
- this.sprites[changed.gameObject.id].image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
168
- return [3, 4];
166
+ this.sprites[changed.gameObject.id].image = instance[component.resource + resourceKeySplit + component.spriteName];
167
+ return [3, 5];
169
168
 
170
- case 3:
169
+ case 4:
171
170
  if (changed.type === OBSERVER_TYPE.REMOVE) {
171
+ this.increaseAsyncId(gameObjectId);
172
172
  sprite = this.sprites[changed.gameObject.id];
173
173
  this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
174
174
  sprite.sprite.destroy({
@@ -177,9 +177,9 @@ var Sprite = function (_super) {
177
177
  delete this.sprites[changed.gameObject.id];
178
178
  }
179
179
 
180
- _a.label = 4;
180
+ _a.label = 5;
181
181
 
182
- case 4:
182
+ case 5:
183
183
  return [2];
184
184
  }
185
185
  });
@@ -227,52 +227,54 @@ var Sprite = (function (_super) {
227
227
  };
228
228
  Sprite.prototype.componentChanged = function (changed) {
229
229
  return __awaiter(this, void 0, void 0, function () {
230
- var component_1, sprite_1, instance, sprite;
231
- var _this = this;
230
+ var gameObjectId, component, sprite, asyncId, instance, asyncId, instance, sprite;
232
231
  return __generator(this, function (_a) {
233
232
  switch (_a.label) {
234
233
  case 0:
235
- if (!(changed.componentName === 'Sprite')) return [3, 4];
236
- component_1 = changed.component;
237
- if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 1];
238
- sprite_1 = new SpriteEngine(null);
239
- eva_js.resource.getResource(component_1.resource).then(function (_a) {
240
- var instance = _a.instance;
241
- return __awaiter(_this, void 0, void 0, function () {
242
- return __generator(this, function (_b) {
243
- if (!instance) {
244
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
245
- return [2];
246
- }
247
- sprite_1.image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
248
- return [2];
249
- });
250
- });
251
- });
252
- this.sprites[changed.gameObject.id] = sprite_1;
253
- this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.sprite, 0);
254
- return [3, 4];
234
+ if (!(changed.componentName === 'Sprite')) return [3, 5];
235
+ gameObjectId = changed.gameObject.id;
236
+ component = changed.component;
237
+ if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
238
+ sprite = new SpriteEngine(null);
239
+ this.sprites[changed.gameObject.id] = sprite;
240
+ this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
241
+ asyncId = this.increaseAsyncId(gameObjectId);
242
+ return [4, eva_js.resource.getResource(component.resource)];
255
243
  case 1:
256
- if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 3];
257
- return [4, eva_js.resource.getResource(component_1.resource)];
244
+ instance = (_a.sent()).instance;
245
+ if (!this.validateAsyncId(gameObjectId, asyncId))
246
+ return [2];
247
+ if (!instance) {
248
+ console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
249
+ return [2];
250
+ }
251
+ sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
252
+ return [3, 5];
258
253
  case 2:
254
+ if (!(changed.type === eva_js.OBSERVER_TYPE.CHANGE)) return [3, 4];
255
+ asyncId = this.increaseAsyncId(gameObjectId);
256
+ return [4, eva_js.resource.getResource(component.resource)];
257
+ case 3:
259
258
  instance = (_a.sent()).instance;
259
+ if (!this.validateAsyncId(gameObjectId, asyncId))
260
+ return [2];
260
261
  if (!instance) {
261
262
  console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
262
263
  return [2];
263
264
  }
264
265
  this.sprites[changed.gameObject.id].image =
265
- instance[component_1.resource + resourceKeySplit + component_1.spriteName];
266
- return [3, 4];
267
- case 3:
266
+ instance[component.resource + resourceKeySplit + component.spriteName];
267
+ return [3, 5];
268
+ case 4:
268
269
  if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
270
+ this.increaseAsyncId(gameObjectId);
269
271
  sprite = this.sprites[changed.gameObject.id];
270
272
  this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
271
273
  sprite.sprite.destroy({ children: true });
272
274
  delete this.sprites[changed.gameObject.id];
273
275
  }
274
- _a.label = 4;
275
- case 4: return [2];
276
+ _a.label = 5;
277
+ case 5: return [2];
276
278
  }
277
279
  });
278
280
  });
@@ -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,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 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&&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 p=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),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}();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||{},p=s.animations||{},f={};for(var l in c){f[t+"_s|r|c_"+l]=c[l]}for(var l in p){var h=[];if(p[l]&&p[l].length>=0)try{for(var m=(i=void 0,u(p[l])),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[l]=h}s.frames=f;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 a(this,void 0,void 0,(function(){var r,n,i,o,s=this;return c(this,(function(u){switch(u.label){case 0:return"Sprite"!==t.componentName?[3,4]:(r=t.component,t.type!==e.OBSERVER_TYPE.ADD?[3,1]:(n=new f(null),e.resource.getResource(r.resource).then((function(e){var i=e.instance;return a(s,void 0,void 0,(function(){return c(this,(function(e){return i?(n.image=i[r.resource+"_s|r|c_"+r.spriteName],[2]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2])}))}))})),this.sprites[t.gameObject.id]=n,this.containerManager.getContainer(t.gameObject.id).addChildAt(n.sprite,0),[3,4]));case 1:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,3]:[4,e.resource.getResource(r.resource)];case 2:return(i=u.sent().instance)?(this.sprites[t.gameObject.id].image=i[r.resource+"_s|r|c_"+r.spriteName],[3,4]):(console.error("GameObject:"+t.gameObject.name+"'s Sprite resource load error"),[2]);case 3:t.type===e.OBSERVER_TYPE.REMOVE&&(o=this.sprites[t.gameObject.id],this.containerManager.getContainer(t.gameObject.id).removeChild(o.sprite),o.sprite.destroy({children:!0}),delete this.sprites[t.gameObject.id]),u.label=4;case 4:return[2]}}))}))},n.systemName="Sprite",n=s([e.decorators.componentObserver({Sprite:["spriteName"]})],n)}(r.Renderer);exports.Sprite=p,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])})(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;
@@ -223,52 +223,54 @@ var Sprite = (function (_super) {
223
223
  };
224
224
  Sprite.prototype.componentChanged = function (changed) {
225
225
  return __awaiter(this, void 0, void 0, function () {
226
- var component_1, sprite_1, instance, sprite;
227
- var _this = this;
226
+ var gameObjectId, component, sprite, asyncId, instance, asyncId, instance, sprite;
228
227
  return __generator(this, function (_a) {
229
228
  switch (_a.label) {
230
229
  case 0:
231
- if (!(changed.componentName === 'Sprite')) return [3, 4];
232
- component_1 = changed.component;
233
- if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 1];
234
- sprite_1 = new SpriteEngine(null);
235
- resource.getResource(component_1.resource).then(function (_a) {
236
- var instance = _a.instance;
237
- return __awaiter(_this, void 0, void 0, function () {
238
- return __generator(this, function (_b) {
239
- if (!instance) {
240
- console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
241
- return [2];
242
- }
243
- sprite_1.image = instance[component_1.resource + resourceKeySplit + component_1.spriteName];
244
- return [2];
245
- });
246
- });
247
- });
248
- this.sprites[changed.gameObject.id] = sprite_1;
249
- this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite_1.sprite, 0);
250
- return [3, 4];
230
+ if (!(changed.componentName === 'Sprite')) return [3, 5];
231
+ gameObjectId = changed.gameObject.id;
232
+ component = changed.component;
233
+ if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
234
+ sprite = new SpriteEngine(null);
235
+ this.sprites[changed.gameObject.id] = sprite;
236
+ this.containerManager.getContainer(changed.gameObject.id).addChildAt(sprite.sprite, 0);
237
+ asyncId = this.increaseAsyncId(gameObjectId);
238
+ return [4, resource.getResource(component.resource)];
251
239
  case 1:
252
- if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 3];
253
- return [4, resource.getResource(component_1.resource)];
240
+ instance = (_a.sent()).instance;
241
+ if (!this.validateAsyncId(gameObjectId, asyncId))
242
+ return [2];
243
+ if (!instance) {
244
+ console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
245
+ return [2];
246
+ }
247
+ sprite.image = instance[component.resource + resourceKeySplit + component.spriteName];
248
+ return [3, 5];
254
249
  case 2:
250
+ if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 4];
251
+ asyncId = this.increaseAsyncId(gameObjectId);
252
+ return [4, resource.getResource(component.resource)];
253
+ case 3:
255
254
  instance = (_a.sent()).instance;
255
+ if (!this.validateAsyncId(gameObjectId, asyncId))
256
+ return [2];
256
257
  if (!instance) {
257
258
  console.error("GameObject:" + changed.gameObject.name + "'s Sprite resource load error");
258
259
  return [2];
259
260
  }
260
261
  this.sprites[changed.gameObject.id].image =
261
- instance[component_1.resource + resourceKeySplit + component_1.spriteName];
262
- return [3, 4];
263
- case 3:
262
+ instance[component.resource + resourceKeySplit + component.spriteName];
263
+ return [3, 5];
264
+ case 4:
264
265
  if (changed.type === OBSERVER_TYPE.REMOVE) {
266
+ this.increaseAsyncId(gameObjectId);
265
267
  sprite = this.sprites[changed.gameObject.id];
266
268
  this.containerManager.getContainer(changed.gameObject.id).removeChild(sprite.sprite);
267
269
  sprite.sprite.destroy({ children: true });
268
270
  delete this.sprites[changed.gameObject.id];
269
271
  }
270
- _a.label = 4;
271
- case 4: return [2];
272
+ _a.label = 5;
273
+ case 5: return [2];
272
274
  }
273
275
  });
274
276
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-sprite",
3
- "version": "1.2.5",
3
+ "version": "1.2.7",
4
4
  "description": "@eva/plugin-renderer-sprite",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite.esm.js",
@@ -19,8 +19,8 @@
19
19
  "homepage": "https://eva.js.org",
20
20
  "dependencies": {
21
21
  "@eva/inspector-decorator": "^0.0.5",
22
- "@eva/plugin-renderer": "1.2.5",
23
- "@eva/eva.js": "1.2.5",
22
+ "@eva/plugin-renderer": "1.2.7",
23
+ "@eva/eva.js": "1.2.7",
24
24
  "pixi.js": "^4.8.7"
25
25
  }
26
26
  }