@eva/plugin-renderer-mask 1.2.7-editor.1 → 1.2.7-editor.12

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.
@@ -33,22 +33,6 @@ var _EVA_IIFE_mask = function (exports, eva_js, pluginRenderer, rendererAdapter)
33
33
  d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());
34
34
  }
35
35
 
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
36
  function __decorate(decorators, target, key, desc) {
53
37
  var c = arguments.length,
54
38
  r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc,
@@ -59,10 +43,6 @@ var _EVA_IIFE_mask = function (exports, eva_js, pluginRenderer, rendererAdapter)
59
43
  return c > 3 && r && Object.defineProperty(target, key, r), r;
60
44
  }
61
45
 
62
- function __metadata(metadataKey, metadataValue) {
63
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
64
- }
65
-
66
46
  function __awaiter(thisArg, _arguments, P, generator) {
67
47
  function adopt(value) {
68
48
  return value instanceof P ? value : new P(function (resolve) {
@@ -258,109 +238,6 @@ var _EVA_IIFE_mask = function (exports, eva_js, pluginRenderer, rendererAdapter)
258
238
  return ar;
259
239
  }
260
240
 
261
- var SymbolKeysNotSupportedError = function (_super) {
262
- __extends(SymbolKeysNotSupportedError, _super);
263
-
264
- function SymbolKeysNotSupportedError() {
265
- var _newTarget = this.constructor;
266
-
267
- var _this = _super.call(this, 'Symbol keys are not supported yet!') || this;
268
-
269
- Object.setPrototypeOf(_this, _newTarget.prototype);
270
- return _this;
271
- }
272
-
273
- return SymbolKeysNotSupportedError;
274
- }(Error);
275
-
276
- (function (_super) {
277
- __extends(StaticGetPropertiesIsNotAFunctionError, _super);
278
-
279
- function StaticGetPropertiesIsNotAFunctionError() {
280
- var _newTarget = this.constructor;
281
-
282
- var _this = _super.call(this, 'getProperties is not a function!') || this;
283
-
284
- Object.setPrototypeOf(_this, _newTarget.prototype);
285
- return _this;
286
- }
287
-
288
- return StaticGetPropertiesIsNotAFunctionError;
289
- })(Error);
290
-
291
- var IDE_PROPERTY_METADATA = 'IDE_PROPERTY_METADATA';
292
-
293
- function transformBasicType(type) {
294
- if (type === String) {
295
- return 'string';
296
- }
297
-
298
- if (type === Number) {
299
- return 'number';
300
- }
301
-
302
- if (type === Boolean) {
303
- return 'boolean';
304
- }
305
-
306
- return 'unknown';
307
- }
308
-
309
- function defineTypes(target, key, options, returnTypeFunction) {
310
- var type = Reflect.getMetadata('design:type', target, key);
311
- var isArray = type === Array;
312
- var str = transformBasicType(type);
313
-
314
- if (str !== 'unknown') {
315
- type = str;
316
- }
317
-
318
- if (returnTypeFunction) {
319
- var returnType = returnTypeFunction();
320
-
321
- if (Array.isArray(returnType)) {
322
- isArray = true;
323
- type = returnType[0];
324
- } else {
325
- type = returnType;
326
- }
327
- }
328
-
329
- var properties = Reflect.getMetadata(IDE_PROPERTY_METADATA, target.constructor) || {};
330
- properties[key] = _assign({
331
- type: type,
332
- isArray: isArray
333
- }, options);
334
- Reflect.defineMetadata(IDE_PROPERTY_METADATA, properties, target.constructor);
335
- }
336
-
337
- function getTypeDecoratorParams(returnTypeFuncOrOptions, maybeOptions) {
338
- if (typeof returnTypeFuncOrOptions === 'function') {
339
- return {
340
- returnTypeFunc: returnTypeFuncOrOptions,
341
- options: maybeOptions || {}
342
- };
343
- }
344
-
345
- return {
346
- options: returnTypeFuncOrOptions || {}
347
- };
348
- }
349
-
350
- function Field(returnTypeFunction, maybeOptions) {
351
- return function (target, propertyKey) {
352
- if (typeof propertyKey === 'symbol') {
353
- throw new SymbolKeysNotSupportedError();
354
- }
355
-
356
- var _a = getTypeDecoratorParams(returnTypeFunction, maybeOptions),
357
- options = _a.options,
358
- returnTypeFunc = _a.returnTypeFunc;
359
-
360
- defineTypes(target, propertyKey, options, returnTypeFunc);
361
- };
362
- }
363
-
364
241
  exports.MASK_TYPE = void 0;
365
242
 
366
243
  (function (MASK_TYPE) {
@@ -390,11 +267,6 @@ var _EVA_IIFE_mask = function (exports, eva_js, pluginRenderer, rendererAdapter)
390
267
  };
391
268
 
392
269
  Mask.componentName = 'Mask';
393
-
394
- __decorate([Field(), __metadata("design:type", String)], Mask.prototype, "resource", void 0);
395
-
396
- __decorate([Field(), __metadata("design:type", String)], Mask.prototype, "spriteName", void 0);
397
-
398
270
  return Mask;
399
271
  }(eva_js.Component);
400
272
 
@@ -534,9 +406,10 @@ var _EVA_IIFE_mask = function (exports, eva_js, pluginRenderer, rendererAdapter)
534
406
  if (changed.prop.prop[0] === 'type') {
535
407
  this.changedCache[changed.gameObject.id] = true;
536
408
 
537
- if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1) {
409
+ if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1 || component._lastType !== component.type) {
538
410
  this.remove(changed);
539
411
  this.add(changed);
412
+ component._lastType = component.type;
540
413
  } else {
541
414
  this.redrawGraphics(changed);
542
415
  }
@@ -1 +1 @@
1
- function _extends(){return(_extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}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_mask=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])})(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 a=function(){return(a=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}).apply(this,arguments)};function c(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 c=e.length-1;c>=0;c--)(o=e[c])&&(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 s(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function p(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{s(n.next(e))}catch(e){i(e)}}function c(e){try{s(n.throw(e))}catch(e){i(e)}}function s(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,c)}s((n=n.apply(e,t||[])).next())}))}function l(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:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function c(i){return function(c){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,c])}}}function u(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,i=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=i.next()).done;)a.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return a}var y=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 h="IDE_PROPERTY_METADATA";function d(e,t,r,n){var o=Reflect.getMetadata("design:type",e,t),i=o===Array,c=function(e){return e===String?"string":e===Number?"number":e===Boolean?"boolean":"unknown"}(o);if("unknown"!==c&&(o=c),n){var s=n();Array.isArray(s)?(i=!0,o=s[0]):o=s}var p=Reflect.getMetadata(h,e.constructor)||{};p[t]=a({type:o,isArray:i},r),Reflect.defineMetadata(h,p,e.constructor)}function f(e,t){return function(r,n){if("symbol"==typeof n)throw new y;var o=function(e,t){return"function"==typeof e?{returnTypeFunc:e,options:t||{}}:{options:e||{}}}(e,t);d(r,n,o.options,o.returnTypeFunc)}}e.MASK_TYPE=void 0,function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(e.MASK_TYPE||(e.MASK_TYPE={}));var g,m=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.style={},t.resource="",t.spriteName="",t}return i(t,e),t.prototype.init=function(e){_extends(this,e)},t.componentName="Mask",c([f(),s("design:type",String)],t.prototype,"resource",void 0),c([f(),s("design:type",String)],t.prototype,"spriteName",void 0),t}(t.Component),w={Circle:["x","y","radius"],Ellipse:["x","y","width","height"],Rect:["x","y","width","height"],RoundedRect:["x","y","width","height","radius"],Polygon:["paths"]},v={Circle:"drawCircle",Ellipse:"drawEllipse",Rect:"drawRect",RoundedRect:"drawRoundedRect",Polygon:"drawPolygon"};!function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(g||(g={}));var b=function(e){function o(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Mask",t.changedCache={},t.maskSpriteCache={},t}return i(o,e),o.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},o.prototype.rendererUpdate=function(){this.changedCache={}},o.prototype.componentChanged=function(e){if("Mask"===e.component.name)switch(e.type){case t.OBSERVER_TYPE.ADD:this.add(e);break;case t.OBSERVER_TYPE.REMOVE:this.remove(e);break;case t.OBSERVER_TYPE.CHANGE:this.change(e)}},o.prototype.add=function(e){var t,r=e.component;if(!(r.type in g))throw new Error("no have Mask type: "+r.type);if(!r.style)throw new Error("no have Mask style: "+r.type);switch(r.type){case g.Circle:case g.Ellipse:case g.Rect:case g.RoundedRect:case g.Polygon:t=this.createGraphics(r);break;case g.Img:case g.Sprite:t=this.createSprite(r)}if(!t)throw new Error("no have mask instance, check your mask params: "+r.type);var n=this.containerManager.getContainer(e.gameObject.id);n.mask=t,n.addChild(t)},o.prototype.remove=function(e){var t=this.containerManager.getContainer(e.gameObject.id);t.removeChild(t.mask),t.mask.destroy({children:!0}),t.mask=null,delete this.maskSpriteCache[e.gameObject.id]},o.prototype.change=function(e){if(!this.changedCache[e.gameObject.id]){var t=e.component;"type"===e.prop.prop[0]?(this.changedCache[e.gameObject.id]=!0,[g.Sprite,g.Img].indexOf(t.type)>-1?(this.remove(e),this.add(e)):this.redrawGraphics(e)):"style"===e.prop.prop[0]?[g.Sprite,g.Img].indexOf(t.type)>-1?this.changeSpriteStyle(t):this.redrawGraphics(e):("resource"===e.prop.prop[0]||"spriteName"===e.prop.prop[0])&&(this.changedCache[e.gameObject.id]=!0,this.changeSprite(t))}},o.prototype.createGraphics=function(e){var t=new n.Graphics;return this.draw(t,e),t},o.prototype.redrawGraphics=function(e){var t=this.containerManager.getContainer(e.gameObject.id).mask;t.clear(),this.draw(t,e.component)},o.prototype.draw=function(e,t){var r,n,o=[];try{for(var i=function(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.")}(w[t.type]),a=i.next();!a.done;a=i.next()){var c=a.value;o.push(t.style[c])}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}e.beginFill(0,1),e[v[t.type]].apply(e,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(u(arguments[t]));return e}(o)),e.endFill()},o.prototype.createSprite=function(e){var t=new n.Sprite(null);return this.maskSpriteCache[e.gameObject.id]=t,this.setSprite(e,t),t.sprite},o.prototype.changeSpriteStyle=function(e){var t=this.maskSpriteCache[e.gameObject.id];t.sprite.width=e.style.width,t.sprite.height=e.style.height,t.sprite.position.x=e.style.x,t.sprite.position.y=e.style.y},o.prototype.changeSprite=function(e){var t=this.maskSpriteCache[e.gameObject.id];this.setSprite(e,t)},o.prototype.setSprite=function(e,r){return p(this,void 0,void 0,(function(){var n,o,i,a;return l(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),o=this.increaseAsyncId(e.gameObject.id),[4,t.resource.getResource(e.resource)];case 1:return n=c.sent(),this.validateAsyncId(e.gameObject.id,o)?[3,3]:[2];case 2:throw c.sent(),new Error("mask resource load error");case 3:return e.type===g.Sprite?(i=e.resource+"_s|r|c_"+e.spriteName,a=n.instance[i],r.image=a):r.image=n.data.image,r.sprite.width=e.style.width,r.sprite.height=e.style.height,r.sprite.position.x=e.style.x,r.sprite.position.y=e.style.y,[2]}}))}))},o.systemName="Mask",o=c([t.decorators.componentObserver({Mask:["type",{prop:["style"],deep:!0},"resource","spriteName"]})],o)}(r.Renderer);return e.Mask=m,e.MaskSystem=b,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,EVA.rendererAdapter);window.EVA.plugin.renderer.mask=window.EVA.plugin.renderer.mask||_EVA_IIFE_mask;
1
+ function _extends(){return _extends=Object.assign||function(e){for(var t=1;t<arguments.length;t++){var r=arguments[t];for(var n in r)Object.prototype.hasOwnProperty.call(r,n)&&(e[n]=r[n])}return e},_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_mask=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)Object.prototype.hasOwnProperty.call(t,r)&&(e[r]=t[r])},i(e,t)};function o(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}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function a(e,t,r,n){return new(r||(r=Promise))((function(i,o){function a(e){try{s(n.next(e))}catch(e){o(e)}}function c(e){try{s(n.throw(e))}catch(e){o(e)}}function s(e){var t;e.done?i(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,c)}s((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)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 a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}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,c])}}}function s(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}e.MASK_TYPE=void 0,function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(e.MASK_TYPE||(e.MASK_TYPE={}));var p,l=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.style={},t.resource="",t.spriteName="",t}return o(t,e),t.prototype.init=function(e){_extends(this,e)},t.componentName="Mask",t}(t.Component),u=l,h={Circle:["x","y","radius"],Ellipse:["x","y","width","height"],Rect:["x","y","width","height"],RoundedRect:["x","y","width","height","radius"],Polygon:["paths"]},d={Circle:"drawCircle",Ellipse:"drawEllipse",Rect:"drawRect",RoundedRect:"drawRoundedRect",Polygon:"drawPolygon"};!function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(p||(p={}));var y=function(e){function i(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Mask",t.changedCache={},t.maskSpriteCache={},t}return o(i,e),i.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},i.prototype.rendererUpdate=function(){this.changedCache={}},i.prototype.componentChanged=function(e){if("Mask"===e.component.name)switch(e.type){case t.OBSERVER_TYPE.ADD:this.add(e);break;case t.OBSERVER_TYPE.REMOVE:this.remove(e);break;case t.OBSERVER_TYPE.CHANGE:this.change(e)}},i.prototype.add=function(e){var t,r=e.component;if(!(r.type in p))throw new Error("no have Mask type: "+r.type);if(!r.style)throw new Error("no have Mask style: "+r.type);switch(r.type){case p.Circle:case p.Ellipse:case p.Rect:case p.RoundedRect:case p.Polygon:t=this.createGraphics(r);break;case p.Img:case p.Sprite:t=this.createSprite(r)}if(!t)throw new Error("no have mask instance, check your mask params: "+r.type);var n=this.containerManager.getContainer(e.gameObject.id);n.mask=t,n.addChild(t)},i.prototype.remove=function(e){var t=this.containerManager.getContainer(e.gameObject.id);t.removeChild(t.mask),t.mask.destroy({children:!0}),t.mask=null,delete this.maskSpriteCache[e.gameObject.id]},i.prototype.change=function(e){if(!this.changedCache[e.gameObject.id]){var t=e.component;"type"===e.prop.prop[0]?(this.changedCache[e.gameObject.id]=!0,[p.Sprite,p.Img].indexOf(t.type)>-1||t._lastType!==t.type?(this.remove(e),this.add(e),t._lastType=t.type):this.redrawGraphics(e)):"style"===e.prop.prop[0]?[p.Sprite,p.Img].indexOf(t.type)>-1?this.changeSpriteStyle(t):this.redrawGraphics(e):("resource"===e.prop.prop[0]||"spriteName"===e.prop.prop[0])&&(this.changedCache[e.gameObject.id]=!0,this.changeSprite(t))}},i.prototype.createGraphics=function(e){var t=new n.Graphics;return this.draw(t,e),t},i.prototype.redrawGraphics=function(e){var t=this.containerManager.getContainer(e.gameObject.id).mask;t.clear(),this.draw(t,e.component)},i.prototype.draw=function(e,t){var r,n,i=[];try{for(var o=function(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.")}(h[t.type]),a=o.next();!a.done;a=o.next()){var c=a.value;i.push(t.style[c])}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}e.beginFill(0,1),e[d[t.type]].apply(e,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(s(arguments[t]));return e}(i)),e.endFill()},i.prototype.createSprite=function(e){var t=new n.Sprite(null);return this.maskSpriteCache[e.gameObject.id]=t,this.setSprite(e,t),t.sprite},i.prototype.changeSpriteStyle=function(e){var t=this.maskSpriteCache[e.gameObject.id];t.sprite.width=e.style.width,t.sprite.height=e.style.height,t.sprite.position.x=e.style.x,t.sprite.position.y=e.style.y},i.prototype.changeSprite=function(e){var t=this.maskSpriteCache[e.gameObject.id];this.setSprite(e,t)},i.prototype.setSprite=function(e,r){return a(this,void 0,void 0,(function(){var n,i,o,a;return c(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),i=this.increaseAsyncId(e.gameObject.id),[4,t.resource.getResource(e.resource)];case 1:return n=c.sent(),this.validateAsyncId(e.gameObject.id,i)?[3,3]:[2];case 2:throw c.sent(),new Error("mask resource load error");case 3:return e.type===p.Sprite?(o=e.resource+"_s|r|c_"+e.spriteName,a=n.instance[o],r.image=a):r.image=n.data.image,r.sprite.width=e.style.width,r.sprite.height=e.style.height,r.sprite.position.x=e.style.x,r.sprite.position.y=e.style.y,[2]}}))}))},i.systemName="Mask",i=function(e,t,r,n){var i,o=arguments.length,a=o<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 c=e.length-1;c>=0;c--)(i=e[c])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}([t.decorators.componentObserver({Mask:["type",{prop:["style"],deep:!0},"resource","spriteName"]})],i),i}(r.Renderer),f=y;return e.Mask=u,e.MaskSystem=f,Object.defineProperty(e,"__esModule",{value:!0}),e}({},EVA,EVA.plugin.renderer,EVA.rendererAdapter);window.EVA.plugin.renderer.mask=window.EVA.plugin.renderer.mask||_EVA_IIFE_mask;
@@ -3,7 +3,6 @@
3
3
  Object.defineProperty(exports, '__esModule', { value: true });
4
4
 
5
5
  var eva_js = require('@eva/eva.js');
6
- var inspectorDecorator = require('@eva/inspector-decorator');
7
6
  var pluginRenderer = require('@eva/plugin-renderer');
8
7
  var rendererAdapter = require('@eva/renderer-adapter');
9
8
 
@@ -43,10 +42,6 @@ function __decorate(decorators, target, key, desc) {
43
42
  return c > 3 && r && Object.defineProperty(target, key, r), r;
44
43
  }
45
44
 
46
- function __metadata(metadataKey, metadataValue) {
47
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
48
- }
49
-
50
45
  function __awaiter(thisArg, _arguments, P, generator) {
51
46
  return new (P || (P = Promise))(function (resolve, reject) {
52
47
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -141,14 +136,6 @@ var Mask$2 = (function (_super) {
141
136
  Object.assign(this, obj);
142
137
  };
143
138
  Mask.componentName = 'Mask';
144
- __decorate([
145
- inspectorDecorator.Field(),
146
- __metadata("design:type", String)
147
- ], Mask.prototype, "resource", void 0);
148
- __decorate([
149
- inspectorDecorator.Field(),
150
- __metadata("design:type", String)
151
- ], Mask.prototype, "spriteName", void 0);
152
139
  return Mask;
153
140
  }(eva_js.Component));
154
141
  var Mask$3 = Mask$2;
@@ -261,9 +248,11 @@ var Mask = (function (_super) {
261
248
  var component = changed.component;
262
249
  if (changed.prop.prop[0] === 'type') {
263
250
  this.changedCache[changed.gameObject.id] = true;
264
- if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1) {
251
+ if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1 ||
252
+ component._lastType !== component.type) {
265
253
  this.remove(changed);
266
254
  this.add(changed);
255
+ component._lastType = component.type;
267
256
  }
268
257
  else {
269
258
  this.redrawGraphics(changed);
@@ -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("@eva/renderer-adapter"),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 a(e,t,r,n){var i,o=arguments.length,a=o<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 c=e.length-1;c>=0;c--)(i=e[c])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}function c(e,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(e,t)}function s(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)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 a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}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,c])}}}function p(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}exports.MASK_TYPE=void 0,function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(exports.MASK_TYPE||(exports.MASK_TYPE={}));var l,u=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.style={},t.resource="",t.spriteName="",t}return o(r,e),r.prototype.init=function(e){Object.assign(this,e)},r.componentName="Mask",a([t.Field(),c("design:type",String)],r.prototype,"resource",void 0),a([t.Field(),c("design:type",String)],r.prototype,"spriteName",void 0),r}(e.Component),h={Circle:["x","y","radius"],Ellipse:["x","y","width","height"],Rect:["x","y","width","height"],RoundedRect:["x","y","width","height","radius"],Polygon:["paths"]},y={Circle:"drawCircle",Ellipse:"drawEllipse",Rect:"drawRect",RoundedRect:"drawRoundedRect",Polygon:"drawPolygon"};!function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(l||(l={}));var d=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="Mask",e.changedCache={},e.maskSpriteCache={},e}return o(i,t),i.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},i.prototype.rendererUpdate=function(){this.changedCache={}},i.prototype.componentChanged=function(t){if("Mask"===t.component.name)switch(t.type){case e.OBSERVER_TYPE.ADD:this.add(t);break;case e.OBSERVER_TYPE.REMOVE:this.remove(t);break;case e.OBSERVER_TYPE.CHANGE:this.change(t)}},i.prototype.add=function(e){var t,r=e.component;if(!(r.type in l))throw new Error("no have Mask type: "+r.type);if(!r.style)throw new Error("no have Mask style: "+r.type);switch(r.type){case l.Circle:case l.Ellipse:case l.Rect:case l.RoundedRect:case l.Polygon:t=this.createGraphics(r);break;case l.Img:case l.Sprite:t=this.createSprite(r)}if(!t)throw new Error("no have mask instance, check your mask params: "+r.type);var n=this.containerManager.getContainer(e.gameObject.id);n.mask=t,n.addChild(t)},i.prototype.remove=function(e){var t=this.containerManager.getContainer(e.gameObject.id);t.removeChild(t.mask),t.mask.destroy({children:!0}),t.mask=null,delete this.maskSpriteCache[e.gameObject.id]},i.prototype.change=function(e){if(!this.changedCache[e.gameObject.id]){var t=e.component;"type"===e.prop.prop[0]?(this.changedCache[e.gameObject.id]=!0,[l.Sprite,l.Img].indexOf(t.type)>-1?(this.remove(e),this.add(e)):this.redrawGraphics(e)):"style"===e.prop.prop[0]?[l.Sprite,l.Img].indexOf(t.type)>-1?this.changeSpriteStyle(t):this.redrawGraphics(e):("resource"===e.prop.prop[0]||"spriteName"===e.prop.prop[0])&&(this.changedCache[e.gameObject.id]=!0,this.changeSprite(t))}},i.prototype.createGraphics=function(e){var t=new n.Graphics;return this.draw(t,e),t},i.prototype.redrawGraphics=function(e){var t=this.containerManager.getContainer(e.gameObject.id).mask;t.clear(),this.draw(t,e.component)},i.prototype.draw=function(e,t){var r,n,i=[];try{for(var o=function(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}}}}(h[t.type]),a=o.next();!a.done;a=o.next()){var c=a.value;i.push(t.style[c])}}catch(e){r={error:e}}finally{try{a&&!a.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}e.beginFill(0,1),e[y[t.type]].apply(e,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(p(arguments[t]));return e}(i)),e.endFill()},i.prototype.createSprite=function(e){var t=new n.Sprite(null);return this.maskSpriteCache[e.gameObject.id]=t,this.setSprite(e,t),t.sprite},i.prototype.changeSpriteStyle=function(e){var t=this.maskSpriteCache[e.gameObject.id];t.sprite.width=e.style.width,t.sprite.height=e.style.height,t.sprite.position.x=e.style.x,t.sprite.position.y=e.style.y},i.prototype.changeSprite=function(e){var t=this.maskSpriteCache[e.gameObject.id];this.setSprite(e,t)},i.prototype.setSprite=function(t,r){return n=this,i=void 0,a=function(){var n,i,o,a;return s(this,(function(c){switch(c.label){case 0:return c.trys.push([0,2,,3]),i=this.increaseAsyncId(t.gameObject.id),[4,e.resource.getResource(t.resource)];case 1:return n=c.sent(),this.validateAsyncId(t.gameObject.id,i)?[3,3]:[2];case 2:throw c.sent(),new Error("mask resource load error");case 3:return t.type===l.Sprite?(o=t.resource+"_s|r|c_"+t.spriteName,a=n.instance[o],r.image=a):r.image=n.data.image,r.sprite.width=t.style.width,r.sprite.height=t.style.height,r.sprite.position.x=t.style.x,r.sprite.position.y=t.style.y,[2]}}))},new((o=void 0)||(o=Promise))((function(e,t){function r(e){try{s(a.next(e))}catch(e){t(e)}}function c(e){try{s(a.throw(e))}catch(e){t(e)}}function s(t){t.done?e(t.value):new o((function(e){e(t.value)})).then(r,c)}s((a=a.apply(n,i||[])).next())}));var n,i,o,a},i.systemName="Mask",i=a([e.decorators.componentObserver({Mask:["type",{prop:["style"],deep:!0},"resource","spriteName"]})],i)}(r.Renderer);exports.Mask=u,exports.MaskSystem=d;
1
+ "use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("@eva/eva.js"),t=require("@eva/plugin-renderer"),r=require("@eva/renderer-adapter"),n=function(e,t){return n=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])},n(e,t)};function i(e,t){function r(){this.constructor=e}n(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function o(e,t){var r,n,i,o,a={label:0,sent:function(){if(1&i[0])throw i[1];return i[1]},trys:[],ops:[]};return o={next:c(0),throw:c(1),return:c(2)},"function"==typeof Symbol&&(o[Symbol.iterator]=function(){return this}),o;function c(o){return function(c){return function(o){if(r)throw new TypeError("Generator is already executing.");for(;a;)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 a.label++,{value:o[1],done:!1};case 5:a.label++,n=o[1],o=[0];continue;case 7:o=a.ops.pop(),a.trys.pop();continue;default:if(!(i=a.trys,(i=i.length>0&&i[i.length-1])||6!==o[0]&&2!==o[0])){a=0;continue}if(3===o[0]&&(!i||o[1]>i[0]&&o[1]<i[3])){a.label=o[1];break}if(6===o[0]&&a.label<i[1]){a.label=i[1],i=o;break}if(i&&a.label<i[2]){a.label=i[2],a.ops.push(o);break}i[2]&&a.ops.pop(),a.trys.pop();continue}o=t.call(e,a)}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,c])}}}function a(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,i,o=r.call(e),a=[];try{for(;(void 0===t||t-- >0)&&!(n=o.next()).done;)a.push(n.value)}catch(e){i={error:e}}finally{try{n&&!n.done&&(r=o.return)&&r.call(o)}finally{if(i)throw i.error}}return a}exports.MASK_TYPE=void 0,function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(exports.MASK_TYPE||(exports.MASK_TYPE={}));var c,s=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.style={},t.resource="",t.spriteName="",t}return i(t,e),t.prototype.init=function(e){Object.assign(this,e)},t.componentName="Mask",t}(e.Component),p=s,l={Circle:["x","y","radius"],Ellipse:["x","y","width","height"],Rect:["x","y","width","height"],RoundedRect:["x","y","width","height","radius"],Polygon:["paths"]},h={Circle:"drawCircle",Ellipse:"drawEllipse",Rect:"drawRect",RoundedRect:"drawRoundedRect",Polygon:"drawPolygon"};!function(e){e.Circle="Circle",e.Ellipse="Ellipse",e.Rect="Rect",e.RoundedRect="RoundedRect",e.Polygon="Polygon",e.Img="Img",e.Sprite="Sprite"}(c||(c={}));var u=function(n){function s(){var e=null!==n&&n.apply(this,arguments)||this;return e.name="Mask",e.changedCache={},e.maskSpriteCache={},e}return i(s,n),s.prototype.init=function(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)},s.prototype.rendererUpdate=function(){this.changedCache={}},s.prototype.componentChanged=function(t){if("Mask"===t.component.name)switch(t.type){case e.OBSERVER_TYPE.ADD:this.add(t);break;case e.OBSERVER_TYPE.REMOVE:this.remove(t);break;case e.OBSERVER_TYPE.CHANGE:this.change(t)}},s.prototype.add=function(e){var t,r=e.component;if(!(r.type in c))throw new Error("no have Mask type: "+r.type);if(!r.style)throw new Error("no have Mask style: "+r.type);switch(r.type){case c.Circle:case c.Ellipse:case c.Rect:case c.RoundedRect:case c.Polygon:t=this.createGraphics(r);break;case c.Img:case c.Sprite:t=this.createSprite(r)}if(!t)throw new Error("no have mask instance, check your mask params: "+r.type);var n=this.containerManager.getContainer(e.gameObject.id);n.mask=t,n.addChild(t)},s.prototype.remove=function(e){var t=this.containerManager.getContainer(e.gameObject.id);t.removeChild(t.mask),t.mask.destroy({children:!0}),t.mask=null,delete this.maskSpriteCache[e.gameObject.id]},s.prototype.change=function(e){if(!this.changedCache[e.gameObject.id]){var t=e.component;"type"===e.prop.prop[0]?(this.changedCache[e.gameObject.id]=!0,[c.Sprite,c.Img].indexOf(t.type)>-1||t._lastType!==t.type?(this.remove(e),this.add(e),t._lastType=t.type):this.redrawGraphics(e)):"style"===e.prop.prop[0]?[c.Sprite,c.Img].indexOf(t.type)>-1?this.changeSpriteStyle(t):this.redrawGraphics(e):("resource"===e.prop.prop[0]||"spriteName"===e.prop.prop[0])&&(this.changedCache[e.gameObject.id]=!0,this.changeSprite(t))}},s.prototype.createGraphics=function(e){var t=new r.Graphics;return this.draw(t,e),t},s.prototype.redrawGraphics=function(e){var t=this.containerManager.getContainer(e.gameObject.id).mask;t.clear(),this.draw(t,e.component)},s.prototype.draw=function(e,t){var r,n,i=[];try{for(var o=function(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}}}}(l[t.type]),c=o.next();!c.done;c=o.next()){var s=c.value;i.push(t.style[s])}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=o.return)&&n.call(o)}finally{if(r)throw r.error}}e.beginFill(0,1),e[h[t.type]].apply(e,function(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(a(arguments[t]));return e}(i)),e.endFill()},s.prototype.createSprite=function(e){var t=new r.Sprite(null);return this.maskSpriteCache[e.gameObject.id]=t,this.setSprite(e,t),t.sprite},s.prototype.changeSpriteStyle=function(e){var t=this.maskSpriteCache[e.gameObject.id];t.sprite.width=e.style.width,t.sprite.height=e.style.height,t.sprite.position.x=e.style.x,t.sprite.position.y=e.style.y},s.prototype.changeSprite=function(e){var t=this.maskSpriteCache[e.gameObject.id];this.setSprite(e,t)},s.prototype.setSprite=function(t,r){return n=this,i=void 0,s=function(){var n,i,a,s;return o(this,(function(o){switch(o.label){case 0:return o.trys.push([0,2,,3]),i=this.increaseAsyncId(t.gameObject.id),[4,e.resource.getResource(t.resource)];case 1:return n=o.sent(),this.validateAsyncId(t.gameObject.id,i)?[3,3]:[2];case 2:throw o.sent(),new Error("mask resource load error");case 3:return t.type===c.Sprite?(a=t.resource+"_s|r|c_"+t.spriteName,s=n.instance[a],r.image=s):r.image=n.data.image,r.sprite.width=t.style.width,r.sprite.height=t.style.height,r.sprite.position.x=t.style.x,r.sprite.position.y=t.style.y,[2]}}))},new((a=void 0)||(a=Promise))((function(e,t){function r(e){try{c(s.next(e))}catch(e){t(e)}}function o(e){try{c(s.throw(e))}catch(e){t(e)}}function c(t){t.done?e(t.value):new a((function(e){e(t.value)})).then(r,o)}c((s=s.apply(n,i||[])).next())}));var n,i,a,s},s.systemName="Mask",s=function(e,t,r,n){var i,o=arguments.length,a=o<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 c=e.length-1;c>=0;c--)(i=e[c])&&(a=(o<3?i(a):o>3?i(t,r,a):i(t,r))||a);return o>3&&a&&Object.defineProperty(t,r,a),a}([e.decorators.componentObserver({Mask:["type",{prop:["style"],deep:!0},"resource","spriteName"]})],s),s}(t.Renderer);exports.Mask=p,exports.MaskSystem=u;
@@ -11,6 +11,8 @@ import { Sprite } from '@eva/renderer-adapter';
11
11
 
12
12
  export declare class Mask extends Component<MaskParams> {
13
13
  static componentName: string;
14
+ _lastType: MaskParams['type'];
15
+ mask_type: string;
14
16
  type: MaskParams['type'];
15
17
  style?: MaskParams['style'];
16
18
  resource?: string;
@@ -1,5 +1,4 @@
1
1
  import { Component, OBSERVER_TYPE, decorators, resource } from '@eva/eva.js';
2
- import { Field } from '@eva/inspector-decorator';
3
2
  import { RendererSystem, Renderer } from '@eva/plugin-renderer';
4
3
  import { Graphics, Sprite } from '@eva/renderer-adapter';
5
4
 
@@ -39,10 +38,6 @@ function __decorate(decorators, target, key, desc) {
39
38
  return c > 3 && r && Object.defineProperty(target, key, r), r;
40
39
  }
41
40
 
42
- function __metadata(metadataKey, metadataValue) {
43
- if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(metadataKey, metadataValue);
44
- }
45
-
46
41
  function __awaiter(thisArg, _arguments, P, generator) {
47
42
  return new (P || (P = Promise))(function (resolve, reject) {
48
43
  function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
@@ -137,14 +132,6 @@ var Mask$2 = (function (_super) {
137
132
  Object.assign(this, obj);
138
133
  };
139
134
  Mask.componentName = 'Mask';
140
- __decorate([
141
- Field(),
142
- __metadata("design:type", String)
143
- ], Mask.prototype, "resource", void 0);
144
- __decorate([
145
- Field(),
146
- __metadata("design:type", String)
147
- ], Mask.prototype, "spriteName", void 0);
148
135
  return Mask;
149
136
  }(Component));
150
137
  var Mask$3 = Mask$2;
@@ -257,9 +244,11 @@ var Mask = (function (_super) {
257
244
  var component = changed.component;
258
245
  if (changed.prop.prop[0] === 'type') {
259
246
  this.changedCache[changed.gameObject.id] = true;
260
- if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1) {
247
+ if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1 ||
248
+ component._lastType !== component.type) {
261
249
  this.remove(changed);
262
250
  this.add(changed);
251
+ component._lastType = component.type;
263
252
  }
264
253
  else {
265
254
  this.redrawGraphics(changed);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-mask",
3
- "version": "1.2.7-editor.1",
3
+ "version": "1.2.7-editor.12",
4
4
  "description": "@eva/plugin-renderer-mask",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-mask.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.1",
22
- "@eva/plugin-renderer": "1.2.7-editor.1",
23
- "@eva/renderer-adapter": "1.2.7-editor.1",
24
- "@eva/eva.js": "1.2.7-editor.1",
21
+ "@eva/inspector-decorator": "0.1.0-alpha.3",
22
+ "@eva/plugin-renderer": "1.2.7-editor.12",
23
+ "@eva/renderer-adapter": "1.2.7-editor.12",
24
+ "@eva/eva.js": "1.2.7-editor.12",
25
25
  "pixi.js": "^4.8.7"
26
26
  }
27
27
  }
@@ -1,313 +0,0 @@
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, __metadata, __values, __spread, __awaiter, __generator } from 'tslib';
4
- import { Component, OBSERVER_TYPE, resource, decorators } from '@eva/eva.js/dist/miniprogram';
5
- import { Field } from '@eva/inspector-decorator';
6
- import { RendererSystem, Renderer } from '@eva/plugin-renderer/dist/miniprogram';
7
- import { Graphics, Sprite } from '@eva/renderer-adapter/dist/miniprogram';
8
- var MASK_TYPE$1;
9
-
10
- (function (MASK_TYPE) {
11
- MASK_TYPE["Circle"] = "Circle";
12
- MASK_TYPE["Ellipse"] = "Ellipse";
13
- MASK_TYPE["Rect"] = "Rect";
14
- MASK_TYPE["RoundedRect"] = "RoundedRect";
15
- MASK_TYPE["Polygon"] = "Polygon";
16
- MASK_TYPE["Img"] = "Img";
17
- MASK_TYPE["Sprite"] = "Sprite";
18
- })(MASK_TYPE$1 || (MASK_TYPE$1 = {}));
19
-
20
- var Mask$2 = function (_super) {
21
- __extends(Mask, _super);
22
-
23
- function Mask() {
24
- var _this = _super !== null && _super.apply(this, arguments) || this;
25
-
26
- _this.style = {};
27
- _this.resource = '';
28
- _this.spriteName = '';
29
- return _this;
30
- }
31
-
32
- Mask.prototype.init = function (obj) {
33
- _extends(this, obj);
34
- };
35
-
36
- Mask.componentName = 'Mask';
37
-
38
- __decorate([Field(), __metadata("design:type", String)], Mask.prototype, "resource", void 0);
39
-
40
- __decorate([Field(), __metadata("design:type", String)], Mask.prototype, "spriteName", void 0);
41
-
42
- return Mask;
43
- }(Component);
44
-
45
- var Mask$3 = Mask$2;
46
- var resourceKeySplit = '_s|r|c_';
47
- var propertyForGraphics = {
48
- Circle: ['x', 'y', 'radius'],
49
- Ellipse: ['x', 'y', 'width', 'height'],
50
- Rect: ['x', 'y', 'width', 'height'],
51
- RoundedRect: ['x', 'y', 'width', 'height', 'radius'],
52
- Polygon: ['paths']
53
- };
54
- var functionForGraphics = {
55
- Circle: 'drawCircle',
56
- Ellipse: 'drawEllipse',
57
- Rect: 'drawRect',
58
- RoundedRect: 'drawRoundedRect',
59
- Polygon: 'drawPolygon'
60
- };
61
- var MASK_TYPE;
62
-
63
- (function (MASK_TYPE) {
64
- MASK_TYPE["Circle"] = "Circle";
65
- MASK_TYPE["Ellipse"] = "Ellipse";
66
- MASK_TYPE["Rect"] = "Rect";
67
- MASK_TYPE["RoundedRect"] = "RoundedRect";
68
- MASK_TYPE["Polygon"] = "Polygon";
69
- MASK_TYPE["Img"] = "Img";
70
- MASK_TYPE["Sprite"] = "Sprite";
71
- })(MASK_TYPE || (MASK_TYPE = {}));
72
-
73
- var Mask = function (_super) {
74
- __extends(Mask, _super);
75
-
76
- function Mask() {
77
- var _this = _super !== null && _super.apply(this, arguments) || this;
78
-
79
- _this.name = 'Mask';
80
- _this.changedCache = {};
81
- _this.maskSpriteCache = {};
82
- return _this;
83
- }
84
-
85
- Mask.prototype.init = function () {
86
- this.renderSystem = this.game.getSystem(RendererSystem);
87
- this.renderSystem.rendererManager.register(this);
88
- };
89
-
90
- Mask.prototype.rendererUpdate = function () {
91
- this.changedCache = {};
92
- };
93
-
94
- Mask.prototype.componentChanged = function (changed) {
95
- if (changed.component.name !== 'Mask') return;
96
-
97
- switch (changed.type) {
98
- case OBSERVER_TYPE.ADD:
99
- this.add(changed);
100
- break;
101
-
102
- case OBSERVER_TYPE.REMOVE:
103
- this.remove(changed);
104
- break;
105
-
106
- case OBSERVER_TYPE.CHANGE:
107
- this.change(changed);
108
- break;
109
- }
110
- };
111
-
112
- Mask.prototype.add = function (changed) {
113
- var component = changed.component;
114
-
115
- if (!(component.type in MASK_TYPE)) {
116
- throw new Error('no have Mask type: ' + component.type);
117
- }
118
-
119
- if (!component.style) {
120
- throw new Error('no have Mask style: ' + component.type);
121
- }
122
-
123
- var mask;
124
-
125
- switch (component.type) {
126
- case MASK_TYPE.Circle:
127
- mask = this.createGraphics(component);
128
- break;
129
-
130
- case MASK_TYPE.Ellipse:
131
- mask = this.createGraphics(component);
132
- break;
133
-
134
- case MASK_TYPE.Rect:
135
- mask = this.createGraphics(component);
136
- break;
137
-
138
- case MASK_TYPE.RoundedRect:
139
- mask = this.createGraphics(component);
140
- break;
141
-
142
- case MASK_TYPE.Polygon:
143
- mask = this.createGraphics(component);
144
- break;
145
-
146
- case MASK_TYPE.Img:
147
- mask = this.createSprite(component);
148
- break;
149
-
150
- case MASK_TYPE.Sprite:
151
- mask = this.createSprite(component);
152
- break;
153
- }
154
-
155
- if (!mask) {
156
- throw new Error('no have mask instance, check your mask params: ' + component.type);
157
- }
158
-
159
- var container = this.containerManager.getContainer(changed.gameObject.id);
160
- container.mask = mask;
161
- container.addChild(mask);
162
- };
163
-
164
- Mask.prototype.remove = function (changed) {
165
- var container = this.containerManager.getContainer(changed.gameObject.id);
166
- container.removeChild(container.mask);
167
- container.mask.destroy({
168
- children: true
169
- });
170
- container.mask = null;
171
- delete this.maskSpriteCache[changed.gameObject.id];
172
- };
173
-
174
- Mask.prototype.change = function (changed) {
175
- if (this.changedCache[changed.gameObject.id]) return;
176
- var component = changed.component;
177
-
178
- if (changed.prop.prop[0] === 'type') {
179
- this.changedCache[changed.gameObject.id] = true;
180
-
181
- if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1) {
182
- this.remove(changed);
183
- this.add(changed);
184
- } else {
185
- this.redrawGraphics(changed);
186
- }
187
- } else if (changed.prop.prop[0] === 'style') {
188
- if ([MASK_TYPE.Sprite, MASK_TYPE.Img].indexOf(component.type) > -1) {
189
- this.changeSpriteStyle(component);
190
- } else {
191
- this.redrawGraphics(changed);
192
- }
193
- } else if (changed.prop.prop[0] === 'resource') {
194
- this.changedCache[changed.gameObject.id] = true;
195
- this.changeSprite(component);
196
- } else if (changed.prop.prop[0] === 'spriteName') {
197
- this.changedCache[changed.gameObject.id] = true;
198
- this.changeSprite(component);
199
- }
200
- };
201
-
202
- Mask.prototype.createGraphics = function (component) {
203
- var graphics = new Graphics();
204
- this.draw(graphics, component);
205
- return graphics;
206
- };
207
-
208
- Mask.prototype.redrawGraphics = function (changed) {
209
- var container = this.containerManager.getContainer(changed.gameObject.id);
210
- var graphics = container.mask;
211
- graphics.clear();
212
- this.draw(graphics, changed.component);
213
- };
214
-
215
- Mask.prototype.draw = function (graphics, component) {
216
- var e_1, _a;
217
-
218
- var params = [];
219
-
220
- try {
221
- for (var _b = __values(propertyForGraphics[component.type]), _c = _b.next(); !_c.done; _c = _b.next()) {
222
- var key = _c.value;
223
- params.push(component.style[key]);
224
- }
225
- } catch (e_1_1) {
226
- e_1 = {
227
- error: e_1_1
228
- };
229
- } finally {
230
- try {
231
- if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
232
- } finally {
233
- if (e_1) throw e_1.error;
234
- }
235
- }
236
-
237
- graphics.beginFill(0x000000, 1);
238
- graphics[functionForGraphics[component.type]].apply(graphics, __spread(params));
239
- graphics.endFill();
240
- };
241
-
242
- Mask.prototype.createSprite = function (component) {
243
- var sprite = new Sprite(null);
244
- this.maskSpriteCache[component.gameObject.id] = sprite;
245
- this.setSprite(component, sprite);
246
- return sprite.sprite;
247
- };
248
-
249
- Mask.prototype.changeSpriteStyle = function (component) {
250
- var sprite = this.maskSpriteCache[component.gameObject.id];
251
- sprite.sprite.width = component.style.width;
252
- sprite.sprite.height = component.style.height;
253
- sprite.sprite.position.x = component.style.x;
254
- sprite.sprite.position.y = component.style.y;
255
- };
256
-
257
- Mask.prototype.changeSprite = function (component) {
258
- var sprite = this.maskSpriteCache[component.gameObject.id];
259
- this.setSprite(component, sprite);
260
- };
261
-
262
- Mask.prototype.setSprite = function (component, sprite) {
263
- return __awaiter(this, void 0, void 0, function () {
264
- var res, asyncId, img, texture;
265
- return __generator(this, function (_a) {
266
- switch (_a.label) {
267
- case 0:
268
- _a.trys.push([0, 2,, 3]);
269
-
270
- asyncId = this.increaseAsyncId(component.gameObject.id);
271
- return [4, resource.getResource(component.resource)];
272
-
273
- case 1:
274
- res = _a.sent();
275
- if (!this.validateAsyncId(component.gameObject.id, asyncId)) return [2];
276
- return [3, 3];
277
-
278
- case 2:
279
- _a.sent();
280
-
281
- throw new Error('mask resource load error');
282
-
283
- case 3:
284
- if (component.type === MASK_TYPE.Sprite) {
285
- img = component.resource + resourceKeySplit + component.spriteName;
286
- texture = res.instance[img];
287
- sprite.image = texture;
288
- } else {
289
- sprite.image = res.data.image;
290
- }
291
-
292
- sprite.sprite.width = component.style.width;
293
- sprite.sprite.height = component.style.height;
294
- sprite.sprite.position.x = component.style.x;
295
- sprite.sprite.position.y = component.style.y;
296
- return [2];
297
- }
298
- });
299
- });
300
- };
301
-
302
- Mask.systemName = 'Mask';
303
- Mask = __decorate([decorators.componentObserver({
304
- Mask: ['type', {
305
- prop: ['style'],
306
- deep: true
307
- }, 'resource', 'spriteName']
308
- })], Mask);
309
- return Mask;
310
- }(Renderer);
311
-
312
- var Mask$1 = Mask;
313
- export { MASK_TYPE$1 as MASK_TYPE, Mask$3 as Mask, Mask$1 as MaskSystem };