@eva/plugin-renderer-sprite-animation 1.1.1-fix.2 → 1.1.1-fix.3

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"EVA.plugin.renderer.spriteAnimation.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/component.ts","../lib/system.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["decorators","Component","SpriteAnimation","resource","RESOURCE_TYPE","BaseTexture","Spritesheet","RendererSystem","OBSERVER_TYPE","SpriteAnimationEngine","Renderer"],"mappings":"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"}
@@ -1,2 +1 @@
1
1
  var e,t;e=this,t=function(e,t,r,n,o){"use strict";var i=function(e,t){return(i=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var r in t)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function a(e,t){function r(){this.constructor=e}i(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function s(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function p(e,t,r,n){return new(r||(r=Promise))((function(o,i){function a(e){try{p(n.next(e))}catch(e){i(e)}}function s(e){try{p(n.throw(e))}catch(e){i(e)}}function p(e){var t;e.done?o(e.value):(t=e.value,t instanceof r?t:new r((function(e){e(t)}))).then(a,s)}p((n=n.apply(e,t||[])).next())}))}function c(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!((o=(o=a.trys).length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function 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.")}var l=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.resource="",t.autoPlay=!0,t.speed=100,t.waitPlay=!1,t.waitStop=!1,t.times=1/0,t.count=0,t}return a(r,e),r.prototype.init=function(e){var t=this;e&&Object.assign(this,e),this.on("loop",(function(){++t.count>=t.times&&(t.animate.stop(),t.emit("complete"))}))},r.prototype.play=function(e){void 0===e&&(e=1/0),0!==e&&(this.times=e,this.animate?(this.animate.play(),this.count=0):this.waitPlay=!0)},r.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(r.prototype,"animate",{get:function(){return this._animate},set:function(e){this._animate=e,this.waitPlay&&(this.waitPlay=!1,this.play(this.times)),this.waitStop&&(this.waitStop=!1,this.stop())},enumerable:!1,configurable:!0}),r.prototype.gotoAndPlay=function(e){this.animate.gotoAndPlay(e)},r.prototype.gotoAndStop=function(e){this.animate.gotoAndStop(e)},r.componentName="SpriteAnimation",s([t.decorators.IDEProp],r.prototype,"resource",void 0),s([t.decorators.IDEProp],r.prototype,"autoPlay",void 0),s([t.decorators.IDEProp],r.prototype,"speed",void 0),r}(t.Component),f="_s|r|c_";t.resource.registerInstance(t.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var n,i,a=r.json,s=o.BaseTexture.from(r.image),p=a.frames||{},c=a.animations||{},l={};for(var d in p)l[t+f+d]=p[d];for(var d in c){var m=[];if(c[d]&&c[d].length>=0)try{for(var h=(n=void 0,u(c[d])),y=h.next();!y.done;y=h.next()){var v=y.value,g=t+f+v;m.push(g)}}catch(e){n={error:e}}finally{try{y&&!y.done&&(i=h.return)&&i.call(h)}finally{if(n)throw n.error}}c[d]=m}a.frames=l;var b=new o.Spritesheet(s,a);b.parse((function(){var t=b.textures,r=[];for(var n in t)r.push(t[n]);e(r)}))}))})),t.resource.registerDestroy(t.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t,r,n=e.instance;if(n)try{for(var o=u(n),i=o.next();!i.done;i=o.next())i.value.destroy(!0)}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}}));var d=function(e){function o(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="SpriteAnimation",t.animates={},t.autoPlay={},t}return a(o,e),o.prototype.init=function(){this.renderSystem=this.game.getSystem(r.RendererSystem),this.renderSystem.rendererManager.register(this)},o.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.animates[e.id]&&(this.animates[e.id].animatedSprite.width=r,this.animates[e.id].animatedSprite.height=n)},o.prototype.componentChanged=function(e){return p(this,void 0,void 0,(function(){var r,n,o;return c(this,(function(i){switch(i.label){case 0:return"SpriteAnimation"!==e.componentName?[3,7]:(r=e.component,this.autoPlay[e.gameObject.id]=r.autoPlay,e.type!==t.OBSERVER_TYPE.ADD?[3,2]:[4,t.resource.getResource(r.resource)]);case 1:return(n=i.sent().instance)||console.error("GameObject:"+e.gameObject.name+"'s Img resource load error"),this.add({frames:n,id:e.gameObject.id,component:r}),[3,7];case 2:return e.type!==t.OBSERVER_TYPE.CHANGE?[3,6]:e.prop&&"speed"===e.prop.prop[0]?(this.animates[e.gameObject.id].speed=1e3/60/r.speed,[3,5]):[3,3];case 3:return[4,t.resource.getResource(r.resource)];case 4:(o=i.sent().instance)||console.error("GameObject:"+e.gameObject.name+"'s Img resource load error"),this.change({frames:o,id:e.gameObject.id,component:r}),i.label=5;case 5:return[3,7];case 6:e.type===t.OBSERVER_TYPE.REMOVE&&this.remove(e.gameObject.id),i.label=7;case 7:return[2]}}))}))},o.prototype.add=function(e){var t=e.frames,r=e.id,o=e.component,i=new n.SpriteAnimation({frames:t});this.animates[r]=i,this.containerManager.getContainer(r).addChildAt(i.animatedSprite,0),i.animatedSprite.onComplete=function(){o.emit("complete")},i.animatedSprite.onFrameChange=function(){o.emit("frameChange")},i.animatedSprite.onLoop=function(){o.emit("loop")},o.animate=this.animates[r],this.animates[r].speed=1e3/60/o.speed,this.autoPlay[r]&&i.animatedSprite.play()},o.prototype.change=function(e){var t=e.frames,r=e.id,n=e.component;this.remove(r,!0),this.add({frames:t,id:r,component:n})},o.prototype.remove=function(e,t){var r=this.animates[e];this.autoPlay[e]=r.animatedSprite.playing,this.containerManager.getContainer(e).removeChild(r.animatedSprite),r.animatedSprite.destroy({children:!0}),delete this.animates[e],t||delete this.autoPlay[e]},o.systemName="SpriteAnimation",o=s([t.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(r.Renderer);e.SpriteAnimation=l,e.SpriteAnimationSystem=d,Object.defineProperty(e,"__esModule",{value:!0})},"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@eva/eva.js"),require("@eva/plugin-renderer"),require("@eva/renderer-adapter"),require("pixi.js")):"function"==typeof define&&define.amd?define(["exports","@eva/eva.js","@eva/plugin-renderer","@eva/renderer-adapter","pixi.js"],t):t(((e="undefined"!=typeof globalThis?globalThis:e||self).EVA=e.EVA||{},e.EVA.plugin=e.EVA.plugin||{},e.EVA.plugin.renderer=e.EVA.plugin.renderer||{},e.EVA.plugin.renderer.spriteAnimation={}),e.EVA,e.EVA.plugin.renderer,e.EVA.rendererAdapter,e.PIXI);
2
- //# sourceMappingURL=EVA.plugin.renderer.spriteAnimation.min.js.map
@@ -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
  var pixi_js = require('pixi.js');
@@ -99,12 +98,10 @@ var SpriteAnimation$2 = (function (_super) {
99
98
  _this.resource = '';
100
99
  _this.autoPlay = true;
101
100
  _this.speed = 100;
102
- _this.forwards = false;
103
101
  _this.waitPlay = false;
104
102
  _this.waitStop = false;
105
103
  _this.times = Infinity;
106
104
  _this.count = 0;
107
- _this.complete = false;
108
105
  return _this;
109
106
  }
110
107
  SpriteAnimation.prototype.init = function (obj) {
@@ -112,13 +109,7 @@ var SpriteAnimation$2 = (function (_super) {
112
109
  obj && Object.assign(this, obj);
113
110
  this.on('loop', function () {
114
111
  if (++_this.count >= _this.times) {
115
- if (_this.forwards) {
116
- _this.gotoAndStop(_this.totalFrames - 1);
117
- }
118
- else {
119
- _this.animate.stop();
120
- }
121
- _this.complete = true;
112
+ _this.animate.stop();
122
113
  _this.emit('complete');
123
114
  }
124
115
  });
@@ -133,12 +124,8 @@ var SpriteAnimation$2 = (function (_super) {
133
124
  this.waitPlay = true;
134
125
  }
135
126
  else {
136
- if (this.complete) {
137
- this.gotoAndStop(0);
138
- }
139
127
  this.animate.play();
140
128
  this.count = 0;
141
- this.complete = false;
142
129
  }
143
130
  };
144
131
  SpriteAnimation.prototype.stop = function () {
@@ -173,36 +160,16 @@ var SpriteAnimation$2 = (function (_super) {
173
160
  SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
174
161
  this.animate.gotoAndStop(frameNumber);
175
162
  };
176
- Object.defineProperty(SpriteAnimation.prototype, "currentFrame", {
177
- get: function () {
178
- var _a, _b;
179
- return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.currentFrame;
180
- },
181
- enumerable: false,
182
- configurable: true
183
- });
184
- Object.defineProperty(SpriteAnimation.prototype, "totalFrames", {
185
- get: function () {
186
- var _a, _b;
187
- return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.totalFrames;
188
- },
189
- enumerable: false,
190
- configurable: true
191
- });
192
163
  SpriteAnimation.componentName = 'SpriteAnimation';
193
164
  __decorate([
194
- inspectorDecorator.type('string')
165
+ eva_js.decorators.IDEProp
195
166
  ], SpriteAnimation.prototype, "resource", void 0);
196
167
  __decorate([
197
- inspectorDecorator.type('boolean')
168
+ eva_js.decorators.IDEProp
198
169
  ], SpriteAnimation.prototype, "autoPlay", void 0);
199
170
  __decorate([
200
- inspectorDecorator.type('number'),
201
- inspectorDecorator.step(10)
171
+ eva_js.decorators.IDEProp
202
172
  ], SpriteAnimation.prototype, "speed", void 0);
203
- __decorate([
204
- inspectorDecorator.type('boolean')
205
- ], SpriteAnimation.prototype, "forwards", void 0);
206
173
  return SpriteAnimation;
207
174
  }(eva_js.Component));
208
175
  var SpriteAnimation$3 = SpriteAnimation$2;
@@ -294,21 +261,17 @@ var SpriteAnimation = (function (_super) {
294
261
  };
295
262
  SpriteAnimation.prototype.componentChanged = function (changed) {
296
263
  return __awaiter(this, void 0, void 0, function () {
297
- var gameObjectId, component, asyncId, frames_1, asyncId, frames_2;
264
+ var component, frames_1, frames_2;
298
265
  return __generator(this, function (_a) {
299
266
  switch (_a.label) {
300
267
  case 0:
301
- gameObjectId = changed.gameObject.id;
302
268
  if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
303
269
  component = changed.component;
304
270
  this.autoPlay[changed.gameObject.id] = component.autoPlay;
305
271
  if (!(changed.type === eva_js.OBSERVER_TYPE.ADD)) return [3, 2];
306
- asyncId = this.increaseAsyncId(gameObjectId);
307
272
  return [4, eva_js.resource.getResource(component.resource)];
308
273
  case 1:
309
274
  frames_1 = (_a.sent()).instance;
310
- if (!this.validateAsyncId(gameObjectId, asyncId))
311
- return [2];
312
275
  if (!frames_1) {
313
276
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
314
277
  }
@@ -323,13 +286,9 @@ var SpriteAnimation = (function (_super) {
323
286
  if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
324
287
  this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
325
288
  return [3, 5];
326
- case 3:
327
- asyncId = this.increaseAsyncId(gameObjectId);
328
- return [4, eva_js.resource.getResource(component.resource)];
289
+ case 3: return [4, eva_js.resource.getResource(component.resource)];
329
290
  case 4:
330
291
  frames_2 = (_a.sent()).instance;
331
- if (!this.validateAsyncId(gameObjectId, asyncId))
332
- return [2];
333
292
  if (!frames_2) {
334
293
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
335
294
  }
@@ -342,7 +301,6 @@ var SpriteAnimation = (function (_super) {
342
301
  case 5: return [3, 7];
343
302
  case 6:
344
303
  if (changed.type === eva_js.OBSERVER_TYPE.REMOVE) {
345
- this.increaseAsyncId(gameObjectId);
346
304
  this.remove(changed.gameObject.id);
347
305
  }
348
306
  _a.label = 7;
@@ -378,8 +336,6 @@ var SpriteAnimation = (function (_super) {
378
336
  };
379
337
  SpriteAnimation.prototype.remove = function (id, isChange) {
380
338
  var animate = this.animates[id];
381
- if (!animate)
382
- return;
383
339
  this.autoPlay[id] = animate.animatedSprite.playing;
384
340
  this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
385
341
  animate.animatedSprite.destroy({ children: true });
@@ -400,3 +356,4 @@ var SpriteAnimation$1 = SpriteAnimation;
400
356
 
401
357
  exports.SpriteAnimation = SpriteAnimation$3;
402
358
  exports.SpriteAnimationSystem = SpriteAnimation$1;
359
+ //# sourceMappingURL=plugin-renderer-sprite-animation.cjs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-renderer-sprite-animation.cjs.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["decorators","Component","SpriteAnimation","resource","RESOURCE_TYPE","BaseTexture","Spritesheet","RendererSystem","OBSERVER_TYPE","SpriteAnimationEngine","Renderer"],"mappings":"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"}
@@ -1,2 +1 @@
1
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=require("pixi.js"),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)t.hasOwnProperty(r)&&(e[r]=t[r])})(e,t)};function i(e,t){function r(){this.constructor=e}o(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function a(e,t,r,n){var o,i=arguments.length,a=i<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)a=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,r,a):o(t,r))||a);return i>3&&a&&Object.defineProperty(t,r,a),a}function s(e,t){var r,n,o,i,a={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function s(i){return function(s){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;a;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return a.label++,{value:i[1],done:!1};case 5:a.label++,n=i[1],i=[0];continue;case 7:i=a.ops.pop(),a.trys.pop();continue;default:if(!(o=a.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){a=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){a.label=i[1];break}if(6===i[0]&&a.label<o[1]){a.label=o[1],o=i;break}if(o&&a.label<o[2]){a.label=o[2],a.ops.push(i);break}o[2]&&a.ops.pop(),a.trys.pop();continue}i=t.call(e,a)}catch(e){i=[6,e],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,s])}}}function 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 p=function(t){function r(){var e=null!==t&&t.apply(this,arguments)||this;return e.resource="",e.autoPlay=!0,e.speed=100,e.waitPlay=!1,e.waitStop=!1,e.times=1/0,e.count=0,e}return i(r,t),r.prototype.init=function(e){var t=this;e&&Object.assign(this,e),this.on("loop",(function(){++t.count>=t.times&&(t.animate.stop(),t.emit("complete"))}))},r.prototype.play=function(e){void 0===e&&(e=1/0),0!==e&&(this.times=e,this.animate?(this.animate.play(),this.count=0):this.waitPlay=!0)},r.prototype.stop=function(){this.animate?this.animate.stop():this.waitStop=!0},Object.defineProperty(r.prototype,"animate",{get:function(){return this._animate},set:function(e){this._animate=e,this.waitPlay&&(this.waitPlay=!1,this.play(this.times)),this.waitStop&&(this.waitStop=!1,this.stop())},enumerable:!1,configurable:!0}),r.prototype.gotoAndPlay=function(e){this.animate.gotoAndPlay(e)},r.prototype.gotoAndStop=function(e){this.animate.gotoAndStop(e)},r.componentName="SpriteAnimation",a([e.decorators.IDEProp],r.prototype,"resource",void 0),a([e.decorators.IDEProp],r.prototype,"autoPlay",void 0),a([e.decorators.IDEProp],r.prototype,"speed",void 0),r}(e.Component);e.resource.registerInstance(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t=e.name,r=e.data;return new Promise((function(e){var o,i,a=r.json,s=n.BaseTexture.from(r.image),p=a.frames||{},u=a.animations||{},l={};for(var m in p){l[t+"_s|r|c_"+m]=p[m]}for(var m in u){var f=[];if(u[m]&&u[m].length>=0)try{for(var d=(o=void 0,c(u[m])),h=d.next();!h.done;h=d.next()){var y=h.value,v=t+"_s|r|c_"+y;f.push(v)}}catch(e){o={error:e}}finally{try{h&&!h.done&&(i=d.return)&&i.call(d)}finally{if(o)throw o.error}}u[m]=f}a.frames=l;var g=new n.Spritesheet(s,a);g.parse((function(){var t=g.textures,r=[];for(var n in t)r.push(t[n]);e(r)}))}))})),e.resource.registerDestroy(e.RESOURCE_TYPE.SPRITE_ANIMATION,(function(e){var t,r,n=e.instance;if(n)try{for(var o=c(n),i=o.next();!i.done;i=o.next()){i.value.destroy(!0)}}catch(e){t={error:e}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}}));var u=function(n){function o(){var e=null!==n&&n.apply(this,arguments)||this;return e.name="SpriteAnimation",e.animates={},e.autoPlay={},e}return i(o,n),o.prototype.init=function(){this.renderSystem=this.game.getSystem(t.RendererSystem),this.renderSystem.rendererManager.register(this)},o.prototype.rendererUpdate=function(e){var t=e.transform.size,r=t.width,n=t.height;this.animates[e.id]&&(this.animates[e.id].animatedSprite.width=r,this.animates[e.id].animatedSprite.height=n)},o.prototype.componentChanged=function(t){return r=this,n=void 0,i=function(){var r,n,o;return s(this,(function(i){switch(i.label){case 0:return"SpriteAnimation"!==t.componentName?[3,7]:(r=t.component,this.autoPlay[t.gameObject.id]=r.autoPlay,t.type!==e.OBSERVER_TYPE.ADD?[3,2]:[4,e.resource.getResource(r.resource)]);case 1:return(n=i.sent().instance)||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.add({frames:n,id:t.gameObject.id,component:r}),[3,7];case 2:return t.type!==e.OBSERVER_TYPE.CHANGE?[3,6]:t.prop&&"speed"===t.prop.prop[0]?(this.animates[t.gameObject.id].speed=1e3/60/r.speed,[3,5]):[3,3];case 3:return[4,e.resource.getResource(r.resource)];case 4:(o=i.sent().instance)||console.error("GameObject:"+t.gameObject.name+"'s Img resource load error"),this.change({frames:o,id:t.gameObject.id,component:r}),i.label=5;case 5:return[3,7];case 6:t.type===e.OBSERVER_TYPE.REMOVE&&this.remove(t.gameObject.id),i.label=7;case 7:return[2]}}))},new((o=void 0)||(o=Promise))((function(e,t){function a(e){try{c(i.next(e))}catch(e){t(e)}}function s(e){try{c(i.throw(e))}catch(e){t(e)}}function c(t){t.done?e(t.value):new o((function(e){e(t.value)})).then(a,s)}c((i=i.apply(r,n||[])).next())}));var r,n,o,i},o.prototype.add=function(e){var t=e.frames,n=e.id,o=e.component,i=new r.SpriteAnimation({frames:t});this.animates[n]=i,this.containerManager.getContainer(n).addChildAt(i.animatedSprite,0),i.animatedSprite.onComplete=function(){o.emit("complete")},i.animatedSprite.onFrameChange=function(){o.emit("frameChange")},i.animatedSprite.onLoop=function(){o.emit("loop")},o.animate=this.animates[n],this.animates[n].speed=1e3/60/o.speed,this.autoPlay[n]&&i.animatedSprite.play()},o.prototype.change=function(e){var t=e.frames,r=e.id,n=e.component;this.remove(r,!0),this.add({frames:t,id:r,component:n})},o.prototype.remove=function(e,t){var r=this.animates[e];this.autoPlay[e]=r.animatedSprite.playing,this.containerManager.getContainer(e).removeChild(r.animatedSprite),r.animatedSprite.destroy({children:!0}),delete this.animates[e],t||delete this.autoPlay[e]},o.systemName="SpriteAnimation",o=a([e.decorators.componentObserver({SpriteAnimation:["speed","resource"]})],o)}(t.Renderer);exports.SpriteAnimation=p,exports.SpriteAnimationSystem=u;
2
- //# sourceMappingURL=plugin-renderer-sprite-animation.cjs.prod.js.map
@@ -1,5 +1,4 @@
1
- import { Component, resource, RESOURCE_TYPE, decorators, OBSERVER_TYPE } from '@eva/eva.js';
2
- import { type, step } from '@eva/inspector-decorator';
1
+ import { decorators, Component, resource, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';
3
2
  import { RendererSystem, Renderer } from '@eva/plugin-renderer';
4
3
  import { SpriteAnimation as SpriteAnimation$4 } from '@eva/renderer-adapter';
5
4
  import { BaseTexture, Spritesheet } from 'pixi.js';
@@ -95,12 +94,10 @@ var SpriteAnimation$2 = (function (_super) {
95
94
  _this.resource = '';
96
95
  _this.autoPlay = true;
97
96
  _this.speed = 100;
98
- _this.forwards = false;
99
97
  _this.waitPlay = false;
100
98
  _this.waitStop = false;
101
99
  _this.times = Infinity;
102
100
  _this.count = 0;
103
- _this.complete = false;
104
101
  return _this;
105
102
  }
106
103
  SpriteAnimation.prototype.init = function (obj) {
@@ -108,13 +105,7 @@ var SpriteAnimation$2 = (function (_super) {
108
105
  obj && Object.assign(this, obj);
109
106
  this.on('loop', function () {
110
107
  if (++_this.count >= _this.times) {
111
- if (_this.forwards) {
112
- _this.gotoAndStop(_this.totalFrames - 1);
113
- }
114
- else {
115
- _this.animate.stop();
116
- }
117
- _this.complete = true;
108
+ _this.animate.stop();
118
109
  _this.emit('complete');
119
110
  }
120
111
  });
@@ -129,12 +120,8 @@ var SpriteAnimation$2 = (function (_super) {
129
120
  this.waitPlay = true;
130
121
  }
131
122
  else {
132
- if (this.complete) {
133
- this.gotoAndStop(0);
134
- }
135
123
  this.animate.play();
136
124
  this.count = 0;
137
- this.complete = false;
138
125
  }
139
126
  };
140
127
  SpriteAnimation.prototype.stop = function () {
@@ -169,36 +156,16 @@ var SpriteAnimation$2 = (function (_super) {
169
156
  SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
170
157
  this.animate.gotoAndStop(frameNumber);
171
158
  };
172
- Object.defineProperty(SpriteAnimation.prototype, "currentFrame", {
173
- get: function () {
174
- var _a, _b;
175
- return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.currentFrame;
176
- },
177
- enumerable: false,
178
- configurable: true
179
- });
180
- Object.defineProperty(SpriteAnimation.prototype, "totalFrames", {
181
- get: function () {
182
- var _a, _b;
183
- return (_b = (_a = this.animate) === null || _a === void 0 ? void 0 : _a.animatedSprite) === null || _b === void 0 ? void 0 : _b.totalFrames;
184
- },
185
- enumerable: false,
186
- configurable: true
187
- });
188
159
  SpriteAnimation.componentName = 'SpriteAnimation';
189
160
  __decorate([
190
- type('string')
161
+ decorators.IDEProp
191
162
  ], SpriteAnimation.prototype, "resource", void 0);
192
163
  __decorate([
193
- type('boolean')
164
+ decorators.IDEProp
194
165
  ], SpriteAnimation.prototype, "autoPlay", void 0);
195
166
  __decorate([
196
- type('number'),
197
- step(10)
167
+ decorators.IDEProp
198
168
  ], SpriteAnimation.prototype, "speed", void 0);
199
- __decorate([
200
- type('boolean')
201
- ], SpriteAnimation.prototype, "forwards", void 0);
202
169
  return SpriteAnimation;
203
170
  }(Component));
204
171
  var SpriteAnimation$3 = SpriteAnimation$2;
@@ -290,21 +257,17 @@ var SpriteAnimation = (function (_super) {
290
257
  };
291
258
  SpriteAnimation.prototype.componentChanged = function (changed) {
292
259
  return __awaiter(this, void 0, void 0, function () {
293
- var gameObjectId, component, asyncId, frames_1, asyncId, frames_2;
260
+ var component, frames_1, frames_2;
294
261
  return __generator(this, function (_a) {
295
262
  switch (_a.label) {
296
263
  case 0:
297
- gameObjectId = changed.gameObject.id;
298
264
  if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
299
265
  component = changed.component;
300
266
  this.autoPlay[changed.gameObject.id] = component.autoPlay;
301
267
  if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
302
- asyncId = this.increaseAsyncId(gameObjectId);
303
268
  return [4, resource.getResource(component.resource)];
304
269
  case 1:
305
270
  frames_1 = (_a.sent()).instance;
306
- if (!this.validateAsyncId(gameObjectId, asyncId))
307
- return [2];
308
271
  if (!frames_1) {
309
272
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
310
273
  }
@@ -319,13 +282,9 @@ var SpriteAnimation = (function (_super) {
319
282
  if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
320
283
  this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
321
284
  return [3, 5];
322
- case 3:
323
- asyncId = this.increaseAsyncId(gameObjectId);
324
- return [4, resource.getResource(component.resource)];
285
+ case 3: return [4, resource.getResource(component.resource)];
325
286
  case 4:
326
287
  frames_2 = (_a.sent()).instance;
327
- if (!this.validateAsyncId(gameObjectId, asyncId))
328
- return [2];
329
288
  if (!frames_2) {
330
289
  console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
331
290
  }
@@ -338,7 +297,6 @@ var SpriteAnimation = (function (_super) {
338
297
  case 5: return [3, 7];
339
298
  case 6:
340
299
  if (changed.type === OBSERVER_TYPE.REMOVE) {
341
- this.increaseAsyncId(gameObjectId);
342
300
  this.remove(changed.gameObject.id);
343
301
  }
344
302
  _a.label = 7;
@@ -374,8 +332,6 @@ var SpriteAnimation = (function (_super) {
374
332
  };
375
333
  SpriteAnimation.prototype.remove = function (id, isChange) {
376
334
  var animate = this.animates[id];
377
- if (!animate)
378
- return;
379
335
  this.autoPlay[id] = animate.animatedSprite.playing;
380
336
  this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
381
337
  animate.animatedSprite.destroy({ children: true });
@@ -395,3 +351,4 @@ var SpriteAnimation = (function (_super) {
395
351
  var SpriteAnimation$1 = SpriteAnimation;
396
352
 
397
353
  export { SpriteAnimation$3 as SpriteAnimation, SpriteAnimation$1 as SpriteAnimationSystem };
354
+ //# sourceMappingURL=plugin-renderer-sprite-animation.esm.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"plugin-renderer-sprite-animation.esm.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["SpriteAnimation","SpriteAnimationEngine"],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@eva/plugin-renderer-sprite-animation",
3
- "version": "1.1.1-fix.2",
3
+ "version": "1.1.1-fix.3",
4
4
  "description": "@eva/plugin-renderer-sprite-animation",
5
5
  "main": "index.js",
6
6
  "module": "dist/plugin-renderer-sprite-animation.esm.js",
@@ -18,9 +18,9 @@
18
18
  "license": "MIT",
19
19
  "homepage": "https://eva.js.org",
20
20
  "dependencies": {
21
- "@eva/plugin-renderer": "1.1.1-fix.2",
22
- "@eva/renderer-adapter": "1.1.1-fix.2",
23
- "@eva/eva.js": "1.1.1-fix.2",
21
+ "@eva/plugin-renderer": "1.1.1-fix.3",
22
+ "@eva/renderer-adapter": "1.1.1-fix.3",
23
+ "@eva/eva.js": "1.1.1-fix.3",
24
24
  "pixi.js": "^4.8.7"
25
25
  }
26
26
  }
@@ -1 +0,0 @@
1
- {"version":3,"file":"EVA.plugin.renderer.spriteAnimation.min.js","sources":["../../../node_modules/tslib/tslib.es6.js","../lib/component.ts","../lib/system.ts"],"sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __createBinding(o, m, k, k2) {\r\n if (k2 === undefined) k2 = k;\r\n o[k2] = m[k];\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (p !== \"default\" && !exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["extendStatics","d","b","Object","setPrototypeOf","__proto__","Array","p","hasOwnProperty","__extends","__","this","constructor","prototype","create","__decorate","decorators","target","key","desc","c","arguments","length","r","getOwnPropertyDescriptor","Reflect","decorate","i","defineProperty","__awaiter","thisArg","_arguments","P","generator","Promise","resolve","reject","fulfilled","value","step","next","e","rejected","result","done","then","apply","__generator","body","f","y","t","g","_","label","sent","trys","ops","verb","throw","return","Symbol","iterator","n","v","op","TypeError","call","pop","push","__values","o","s","m","_this","Infinity","SpriteAnimation","obj","assign","on","count","times","animate","stop","emit","play","waitPlay","waitStop","_animate","val","frameNumber","gotoAndPlay","gotoAndStop","IDEProp","Component","resourceKeySplit","registerInstance","RESOURCE_TYPE","SPRITE_ANIMATION","_a","name","data","textureObj","json","texture","BaseTexture","from","image","frames","animations","newFrames","spriteList","_b","spriteName","newSpriteName","spriteSheet","Spritesheet","parse","textures","spriteFrames","registerDestroy","instance","instance_1","destroy","renderSystem","game","getSystem","RendererSystem","rendererManager","register","gameObject","transform","size","width","height","animates","id","animatedSprite","changed","componentName","component","autoPlay","type","OBSERVER_TYPE","ADD","resource","getResource","frames_1","console","error","add","CHANGE","prop","speed","frames_2","change","REMOVE","remove","SpriteAnimationEngine","containerManager","getContainer","addChildAt","onComplete","onFrameChange","onLoop","isChange","playing","removeChild","children","componentObserver","Renderer"],"mappings":"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"}
@@ -1 +0,0 @@
1
- {"version":3,"file":"plugin-renderer-sprite-animation.cjs.prod.js","sources":["../lib/component.ts","../lib/system.ts"],"sourcesContent":["import { Component, decorators } from '@eva/eva.js';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\n\nexport interface SpriteAnimationParams {\n resource: string;\n autoPlay: boolean;\n speed: number;\n}\n\nexport default class SpriteAnimation extends Component<SpriteAnimationParams> {\n static componentName: string = 'SpriteAnimation';\n @decorators.IDEProp resource: string = '';\n @decorators.IDEProp autoPlay: boolean = true;\n @decorators.IDEProp speed: number = 100;\n _animate: SpriteAnimationEngine;\n private waitPlay: boolean = false;\n private waitStop: boolean = false;\n private times: number = Infinity;\n private count: number = 0;\n init(obj?: SpriteAnimationParams) {\n obj && Object.assign(this, obj);\n this.on('loop', () => {\n if (++this.count >= this.times) {\n this.animate.stop();\n this.emit('complete');\n }\n });\n }\n play(times = Infinity) {\n if (times === 0) {\n return;\n }\n this.times = times;\n if (!this.animate) {\n this.waitPlay = true;\n } else {\n this.animate.play();\n this.count = 0;\n }\n }\n stop() {\n if (!this.animate) {\n this.waitStop = true;\n } else {\n this.animate.stop();\n }\n }\n set animate(val) {\n this._animate = val;\n if (this.waitPlay) {\n this.waitPlay = false;\n this.play(this.times);\n }\n if (this.waitStop) {\n this.waitStop = false;\n this.stop();\n }\n }\n get animate() {\n return this._animate;\n }\n gotoAndPlay(frameNumber) {\n this.animate.gotoAndPlay(frameNumber);\n }\n gotoAndStop(frameNumber) {\n this.animate.gotoAndStop(frameNumber);\n }\n}\n","import { GameObject, decorators, resource, ComponentChanged, RESOURCE_TYPE, OBSERVER_TYPE } from '@eva/eva.js';\nimport { RendererManager, ContainerManager, RendererSystem, Renderer } from '@eva/plugin-renderer';\nimport { SpriteAnimation as SpriteAnimationEngine } from '@eva/renderer-adapter';\nimport { Spritesheet, BaseTexture } from 'pixi.js';\n\nimport SpriteAnimationComponent from './component';\n\nconst resourceKeySplit = '_s|r|c_';\n\nresource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, ({ name, data }) => {\n return new Promise(r => {\n const textureObj = data.json;\n const texture = BaseTexture.from(data.image);\n const frames = textureObj.frames || {};\n const animations = textureObj.animations || {};\n const newFrames = {};\n for (const key in frames) {\n const newKey = name + resourceKeySplit + key;\n newFrames[newKey] = frames[key];\n }\n for (const key in animations) {\n const spriteList = [];\n if (animations[key] && animations[key].length >= 0) {\n for (const spriteName of animations[key]) {\n const newSpriteName = name + resourceKeySplit + spriteName;\n spriteList.push(newSpriteName);\n }\n }\n animations[key] = spriteList;\n }\n textureObj.frames = newFrames;\n const spriteSheet = new Spritesheet(texture, textureObj);\n spriteSheet.parse(() => {\n const { textures } = spriteSheet;\n const spriteFrames = [];\n for (const key in textures) {\n spriteFrames.push(textures[key]);\n }\n r(spriteFrames);\n });\n });\n});\nresource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, ({ instance }) => {\n if (!instance) return;\n for (const texture of instance) {\n texture.destroy(true);\n }\n});\n\n@decorators.componentObserver({\n SpriteAnimation: ['speed', 'resource'],\n})\nexport default class SpriteAnimation extends Renderer {\n static systemName = 'SpriteAnimation';\n name: string = 'SpriteAnimation';\n animates: { [propName: number]: SpriteAnimationEngine } = {};\n autoPlay: { [propName: number]: boolean } = {};\n renderSystem: RendererSystem;\n rendererManager: RendererManager;\n containerManager: ContainerManager;\n init() {\n this.renderSystem = this.game.getSystem(RendererSystem) as RendererSystem;\n this.renderSystem.rendererManager.register(this);\n }\n rendererUpdate(gameObject: GameObject) {\n const { width, height } = gameObject.transform.size;\n if (this.animates[gameObject.id]) {\n this.animates[gameObject.id].animatedSprite.width = width;\n this.animates[gameObject.id].animatedSprite.height = height;\n }\n }\n async componentChanged(changed: ComponentChanged) {\n if (changed.componentName === 'SpriteAnimation') {\n const component: SpriteAnimationComponent = changed.component as SpriteAnimationComponent;\n this.autoPlay[changed.gameObject.id] = component.autoPlay;\n if (changed.type === OBSERVER_TYPE.ADD) {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.add({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n } else if (changed.type === OBSERVER_TYPE.CHANGE) {\n if (changed.prop && changed.prop.prop[0] === 'speed') {\n this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;\n } else {\n const { instance: frames } = await resource.getResource(component.resource);\n if (!frames) {\n console.error(`GameObject:${changed.gameObject.name}'s Img resource load error`);\n }\n this.change({\n frames: frames,\n id: changed.gameObject.id,\n component,\n });\n }\n } else if (changed.type === OBSERVER_TYPE.REMOVE) {\n this.remove(changed.gameObject.id);\n }\n }\n }\n add({ frames, id, component }) {\n const animate = new SpriteAnimationEngine({ frames });\n this.animates[id] = animate;\n this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);\n\n animate.animatedSprite.onComplete = () => {\n component.emit('complete');\n };\n animate.animatedSprite.onFrameChange = () => {\n component.emit('frameChange');\n };\n animate.animatedSprite.onLoop = () => {\n component.emit('loop');\n };\n\n component.animate = this.animates[id];\n this.animates[id].speed = 1000 / 60 / component.speed;\n if (this.autoPlay[id]) {\n animate.animatedSprite.play();\n }\n }\n change({ frames, id, component }) {\n this.remove(id, true);\n this.add({ frames, id, component });\n }\n remove(id, isChange?: boolean) {\n const animate = this.animates[id];\n this.autoPlay[id] = animate.animatedSprite.playing;\n this.containerManager.getContainer(id).removeChild(animate.animatedSprite);\n animate.animatedSprite.destroy({ children: true });\n delete this.animates[id];\n if (!isChange) {\n delete this.autoPlay[id];\n }\n }\n}\n"],"names":["_this","Infinity","__extends","SpriteAnimation","obj","Object","assign","this","on","count","times","animate","stop","emit","play","waitPlay","waitStop","_animate","val","frameNumber","gotoAndPlay","gotoAndStop","__decorate","decorators","IDEProp","Component","resource","registerInstance","RESOURCE_TYPE","SPRITE_ANIMATION","_a","name","data","Promise","r","textureObj","json","texture","BaseTexture","from","image","frames","animations","newFrames","key","spriteList","length","_b","__values","spriteName","newSpriteName","push","spriteSheet","Spritesheet","parse","textures","spriteFrames","registerDestroy","instance","instance_1","destroy","renderSystem","game","getSystem","RendererSystem","rendererManager","register","gameObject","transform","size","width","height","animates","id","animatedSprite","changed","componentName","component","autoPlay","type","OBSERVER_TYPE","ADD","getResource","frames_1","console","error","add","CHANGE","prop","speed","frames_2","change","REMOVE","remove","SpriteAnimationEngine","containerManager","getContainer","addChildAt","onComplete","onFrameChange","onLoop","isChange","playing","removeChild","children","componentObserver","Renderer"],"mappings":"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"}