@eva/plugin-renderer-sprite-animation 1.1.1-fix.0 → 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.
- package/dist/EVA.plugin.renderer.spriteAnimation.js +1 -0
- package/dist/EVA.plugin.renderer.spriteAnimation.js.map +1 -0
- package/dist/plugin-renderer-sprite-animation.cjs.js +1 -0
- package/dist/plugin-renderer-sprite-animation.cjs.js.map +1 -0
- package/dist/plugin-renderer-sprite-animation.esm.js +1 -0
- package/dist/plugin-renderer-sprite-animation.esm.js.map +1 -0
- package/package.json +4 -4
- package/dist/miniprogram.js +0 -272
|
@@ -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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"}
|
|
@@ -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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"}
|
|
@@ -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.
|
|
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.
|
|
22
|
-
"@eva/renderer-adapter": "1.1.1-fix.
|
|
23
|
-
"@eva/eva.js": "1.1.1-fix.
|
|
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
|
}
|
package/dist/miniprogram.js
DELETED
|
@@ -1,272 +0,0 @@
|
|
|
1
|
-
import { __extends, __decorate, __values, __awaiter, __generator } from 'tslib';
|
|
2
|
-
import { Component, resource, RESOURCE_TYPE, OBSERVER_TYPE, decorators } from '@eva/eva.js/dist/miniprogram';
|
|
3
|
-
import { type, step } from '@eva/inspector-decorator/dist/miniprogram';
|
|
4
|
-
import { RendererSystem, Renderer } from '@eva/plugin-renderer/dist/miniprogram';
|
|
5
|
-
import { SpriteAnimation as SpriteAnimation$4 } from '@eva/renderer-adapter/dist/miniprogram';
|
|
6
|
-
import { BaseTexture, Spritesheet } from '@eva/miniprogram-pixi';
|
|
7
|
-
|
|
8
|
-
var SpriteAnimation$2 = (function (_super) {
|
|
9
|
-
__extends(SpriteAnimation, _super);
|
|
10
|
-
function SpriteAnimation() {
|
|
11
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
12
|
-
_this.resource = '';
|
|
13
|
-
_this.autoPlay = true;
|
|
14
|
-
_this.speed = 100;
|
|
15
|
-
_this.waitPlay = false;
|
|
16
|
-
_this.waitStop = false;
|
|
17
|
-
_this.times = Infinity;
|
|
18
|
-
_this.count = 0;
|
|
19
|
-
return _this;
|
|
20
|
-
}
|
|
21
|
-
SpriteAnimation.prototype.init = function (obj) {
|
|
22
|
-
var _this = this;
|
|
23
|
-
obj && Object.assign(this, obj);
|
|
24
|
-
this.on('loop', function () {
|
|
25
|
-
if (++_this.count >= _this.times) {
|
|
26
|
-
_this.animate.stop();
|
|
27
|
-
_this.emit('complete');
|
|
28
|
-
}
|
|
29
|
-
});
|
|
30
|
-
};
|
|
31
|
-
SpriteAnimation.prototype.play = function (times) {
|
|
32
|
-
if (times === void 0) { times = Infinity; }
|
|
33
|
-
if (times === 0) {
|
|
34
|
-
return;
|
|
35
|
-
}
|
|
36
|
-
this.times = times;
|
|
37
|
-
if (!this.animate) {
|
|
38
|
-
this.waitPlay = true;
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
this.animate.play();
|
|
42
|
-
this.count = 0;
|
|
43
|
-
}
|
|
44
|
-
};
|
|
45
|
-
SpriteAnimation.prototype.stop = function () {
|
|
46
|
-
if (!this.animate) {
|
|
47
|
-
this.waitStop = true;
|
|
48
|
-
}
|
|
49
|
-
else {
|
|
50
|
-
this.animate.stop();
|
|
51
|
-
}
|
|
52
|
-
};
|
|
53
|
-
Object.defineProperty(SpriteAnimation.prototype, "animate", {
|
|
54
|
-
get: function () {
|
|
55
|
-
return this._animate;
|
|
56
|
-
},
|
|
57
|
-
set: function (val) {
|
|
58
|
-
this._animate = val;
|
|
59
|
-
if (this.waitPlay) {
|
|
60
|
-
this.waitPlay = false;
|
|
61
|
-
this.play(this.times);
|
|
62
|
-
}
|
|
63
|
-
if (this.waitStop) {
|
|
64
|
-
this.waitStop = false;
|
|
65
|
-
this.stop();
|
|
66
|
-
}
|
|
67
|
-
},
|
|
68
|
-
enumerable: false,
|
|
69
|
-
configurable: true
|
|
70
|
-
});
|
|
71
|
-
SpriteAnimation.prototype.gotoAndPlay = function (frameNumber) {
|
|
72
|
-
this.animate.gotoAndPlay(frameNumber);
|
|
73
|
-
};
|
|
74
|
-
SpriteAnimation.prototype.gotoAndStop = function (frameNumber) {
|
|
75
|
-
this.animate.gotoAndStop(frameNumber);
|
|
76
|
-
};
|
|
77
|
-
SpriteAnimation.componentName = 'SpriteAnimation';
|
|
78
|
-
__decorate([
|
|
79
|
-
type('string')
|
|
80
|
-
], SpriteAnimation.prototype, "resource", void 0);
|
|
81
|
-
__decorate([
|
|
82
|
-
type('boolean')
|
|
83
|
-
], SpriteAnimation.prototype, "autoPlay", void 0);
|
|
84
|
-
__decorate([
|
|
85
|
-
type('number'),
|
|
86
|
-
step(10)
|
|
87
|
-
], SpriteAnimation.prototype, "speed", void 0);
|
|
88
|
-
return SpriteAnimation;
|
|
89
|
-
}(Component));
|
|
90
|
-
var SpriteAnimation$3 = SpriteAnimation$2;
|
|
91
|
-
|
|
92
|
-
var resourceKeySplit = '_s|r|c_';
|
|
93
|
-
resource.registerInstance(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
|
|
94
|
-
var name = _a.name, data = _a.data;
|
|
95
|
-
return new Promise(function (r) {
|
|
96
|
-
var e_1, _a;
|
|
97
|
-
var textureObj = data.json;
|
|
98
|
-
var texture = BaseTexture.from(data.image);
|
|
99
|
-
var frames = textureObj.frames || {};
|
|
100
|
-
var animations = textureObj.animations || {};
|
|
101
|
-
var newFrames = {};
|
|
102
|
-
for (var key in frames) {
|
|
103
|
-
var newKey = name + resourceKeySplit + key;
|
|
104
|
-
newFrames[newKey] = frames[key];
|
|
105
|
-
}
|
|
106
|
-
for (var key in animations) {
|
|
107
|
-
var spriteList = [];
|
|
108
|
-
if (animations[key] && animations[key].length >= 0) {
|
|
109
|
-
try {
|
|
110
|
-
for (var _b = (e_1 = void 0, __values(animations[key])), _c = _b.next(); !_c.done; _c = _b.next()) {
|
|
111
|
-
var spriteName = _c.value;
|
|
112
|
-
var newSpriteName = name + resourceKeySplit + spriteName;
|
|
113
|
-
spriteList.push(newSpriteName);
|
|
114
|
-
}
|
|
115
|
-
}
|
|
116
|
-
catch (e_1_1) { e_1 = { error: e_1_1 }; }
|
|
117
|
-
finally {
|
|
118
|
-
try {
|
|
119
|
-
if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
|
|
120
|
-
}
|
|
121
|
-
finally { if (e_1) throw e_1.error; }
|
|
122
|
-
}
|
|
123
|
-
}
|
|
124
|
-
animations[key] = spriteList;
|
|
125
|
-
}
|
|
126
|
-
textureObj.frames = newFrames;
|
|
127
|
-
var spriteSheet = new Spritesheet(texture, textureObj);
|
|
128
|
-
spriteSheet.parse(function () {
|
|
129
|
-
var textures = spriteSheet.textures;
|
|
130
|
-
var spriteFrames = [];
|
|
131
|
-
for (var key in textures) {
|
|
132
|
-
spriteFrames.push(textures[key]);
|
|
133
|
-
}
|
|
134
|
-
r(spriteFrames);
|
|
135
|
-
});
|
|
136
|
-
});
|
|
137
|
-
});
|
|
138
|
-
resource.registerDestroy(RESOURCE_TYPE.SPRITE_ANIMATION, function (_a) {
|
|
139
|
-
var e_2, _b;
|
|
140
|
-
var instance = _a.instance;
|
|
141
|
-
if (!instance)
|
|
142
|
-
return;
|
|
143
|
-
try {
|
|
144
|
-
for (var instance_1 = __values(instance), instance_1_1 = instance_1.next(); !instance_1_1.done; instance_1_1 = instance_1.next()) {
|
|
145
|
-
var texture = instance_1_1.value;
|
|
146
|
-
texture.destroy(true);
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
catch (e_2_1) { e_2 = { error: e_2_1 }; }
|
|
150
|
-
finally {
|
|
151
|
-
try {
|
|
152
|
-
if (instance_1_1 && !instance_1_1.done && (_b = instance_1.return)) _b.call(instance_1);
|
|
153
|
-
}
|
|
154
|
-
finally { if (e_2) throw e_2.error; }
|
|
155
|
-
}
|
|
156
|
-
});
|
|
157
|
-
var SpriteAnimation = (function (_super) {
|
|
158
|
-
__extends(SpriteAnimation, _super);
|
|
159
|
-
function SpriteAnimation() {
|
|
160
|
-
var _this = _super !== null && _super.apply(this, arguments) || this;
|
|
161
|
-
_this.name = 'SpriteAnimation';
|
|
162
|
-
_this.animates = {};
|
|
163
|
-
_this.autoPlay = {};
|
|
164
|
-
return _this;
|
|
165
|
-
}
|
|
166
|
-
SpriteAnimation.prototype.init = function () {
|
|
167
|
-
this.renderSystem = this.game.getSystem(RendererSystem);
|
|
168
|
-
this.renderSystem.rendererManager.register(this);
|
|
169
|
-
};
|
|
170
|
-
SpriteAnimation.prototype.rendererUpdate = function (gameObject) {
|
|
171
|
-
var _a = gameObject.transform.size, width = _a.width, height = _a.height;
|
|
172
|
-
if (this.animates[gameObject.id]) {
|
|
173
|
-
this.animates[gameObject.id].animatedSprite.width = width;
|
|
174
|
-
this.animates[gameObject.id].animatedSprite.height = height;
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
SpriteAnimation.prototype.componentChanged = function (changed) {
|
|
178
|
-
return __awaiter(this, void 0, void 0, function () {
|
|
179
|
-
var component, frames_1, frames_2;
|
|
180
|
-
return __generator(this, function (_a) {
|
|
181
|
-
switch (_a.label) {
|
|
182
|
-
case 0:
|
|
183
|
-
if (!(changed.componentName === 'SpriteAnimation')) return [3, 7];
|
|
184
|
-
component = changed.component;
|
|
185
|
-
this.autoPlay[changed.gameObject.id] = component.autoPlay;
|
|
186
|
-
if (!(changed.type === OBSERVER_TYPE.ADD)) return [3, 2];
|
|
187
|
-
return [4, resource.getResource(component.resource)];
|
|
188
|
-
case 1:
|
|
189
|
-
frames_1 = (_a.sent()).instance;
|
|
190
|
-
if (!frames_1) {
|
|
191
|
-
console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
|
|
192
|
-
}
|
|
193
|
-
this.add({
|
|
194
|
-
frames: frames_1,
|
|
195
|
-
id: changed.gameObject.id,
|
|
196
|
-
component: component,
|
|
197
|
-
});
|
|
198
|
-
return [3, 7];
|
|
199
|
-
case 2:
|
|
200
|
-
if (!(changed.type === OBSERVER_TYPE.CHANGE)) return [3, 6];
|
|
201
|
-
if (!(changed.prop && changed.prop.prop[0] === 'speed')) return [3, 3];
|
|
202
|
-
this.animates[changed.gameObject.id].speed = 1000 / 60 / component.speed;
|
|
203
|
-
return [3, 5];
|
|
204
|
-
case 3: return [4, resource.getResource(component.resource)];
|
|
205
|
-
case 4:
|
|
206
|
-
frames_2 = (_a.sent()).instance;
|
|
207
|
-
if (!frames_2) {
|
|
208
|
-
console.error("GameObject:" + changed.gameObject.name + "'s Img resource load error");
|
|
209
|
-
}
|
|
210
|
-
this.change({
|
|
211
|
-
frames: frames_2,
|
|
212
|
-
id: changed.gameObject.id,
|
|
213
|
-
component: component,
|
|
214
|
-
});
|
|
215
|
-
_a.label = 5;
|
|
216
|
-
case 5: return [3, 7];
|
|
217
|
-
case 6:
|
|
218
|
-
if (changed.type === OBSERVER_TYPE.REMOVE) {
|
|
219
|
-
this.remove(changed.gameObject.id);
|
|
220
|
-
}
|
|
221
|
-
_a.label = 7;
|
|
222
|
-
case 7: return [2];
|
|
223
|
-
}
|
|
224
|
-
});
|
|
225
|
-
});
|
|
226
|
-
};
|
|
227
|
-
SpriteAnimation.prototype.add = function (_a) {
|
|
228
|
-
var frames = _a.frames, id = _a.id, component = _a.component;
|
|
229
|
-
var animate = new SpriteAnimation$4({ frames: frames });
|
|
230
|
-
this.animates[id] = animate;
|
|
231
|
-
this.containerManager.getContainer(id).addChildAt(animate.animatedSprite, 0);
|
|
232
|
-
animate.animatedSprite.onComplete = function () {
|
|
233
|
-
component.emit('complete');
|
|
234
|
-
};
|
|
235
|
-
animate.animatedSprite.onFrameChange = function () {
|
|
236
|
-
component.emit('frameChange');
|
|
237
|
-
};
|
|
238
|
-
animate.animatedSprite.onLoop = function () {
|
|
239
|
-
component.emit('loop');
|
|
240
|
-
};
|
|
241
|
-
component.animate = this.animates[id];
|
|
242
|
-
this.animates[id].speed = 1000 / 60 / component.speed;
|
|
243
|
-
if (this.autoPlay[id]) {
|
|
244
|
-
animate.animatedSprite.play();
|
|
245
|
-
}
|
|
246
|
-
};
|
|
247
|
-
SpriteAnimation.prototype.change = function (_a) {
|
|
248
|
-
var frames = _a.frames, id = _a.id, component = _a.component;
|
|
249
|
-
this.remove(id, true);
|
|
250
|
-
this.add({ frames: frames, id: id, component: component });
|
|
251
|
-
};
|
|
252
|
-
SpriteAnimation.prototype.remove = function (id, isChange) {
|
|
253
|
-
var animate = this.animates[id];
|
|
254
|
-
this.autoPlay[id] = animate.animatedSprite.playing;
|
|
255
|
-
this.containerManager.getContainer(id).removeChild(animate.animatedSprite);
|
|
256
|
-
animate.animatedSprite.destroy({ children: true });
|
|
257
|
-
delete this.animates[id];
|
|
258
|
-
if (!isChange) {
|
|
259
|
-
delete this.autoPlay[id];
|
|
260
|
-
}
|
|
261
|
-
};
|
|
262
|
-
SpriteAnimation.systemName = 'SpriteAnimation';
|
|
263
|
-
SpriteAnimation = __decorate([
|
|
264
|
-
decorators.componentObserver({
|
|
265
|
-
SpriteAnimation: ['speed', 'resource'],
|
|
266
|
-
})
|
|
267
|
-
], SpriteAnimation);
|
|
268
|
-
return SpriteAnimation;
|
|
269
|
-
}(Renderer));
|
|
270
|
-
var SpriteAnimation$1 = SpriteAnimation;
|
|
271
|
-
|
|
272
|
-
export { SpriteAnimation$3 as SpriteAnimation, SpriteAnimation$1 as SpriteAnimationSystem };
|