Socket
Socket
Sign inDemoInstall

@eva/eva.js

Package Overview
Dependencies
Maintainers
4
Versions
168
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@eva/eva.js - npm Package Compare versions

Comparing version 1.1.11 to 1.2.0-alpha.0

16

dist/eva.js.cjs.prod.js

@@ -1,15 +0,1 @@

"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),t=require("lodash-es"),r=require("@eva/inspector-decorator"),n=require("resource-loader");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}var a=o(e),s=function(e,t){return(s=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)};
/*! *****************************************************************************
Copyright (c) Microsoft Corporation. All rights reserved.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use
this file except in compliance with the License. You may obtain a copy of the
License at http://www.apache.org/licenses/LICENSE-2.0
THIS CODE IS PROVIDED ON AN *AS IS* BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
KIND, EITHER EXPRESS OR IMPLIED, INCLUDING WITHOUT LIMITATION ANY IMPLIED
WARRANTIES OR CONDITIONS OF TITLE, FITNESS FOR A PARTICULAR PURPOSE,
MERCHANTABLITY OR NON-INFRINGEMENT.
See the Apache Version 2.0 License for specific language governing permissions
and limitations under the License.
***************************************************************************** */function i(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function c(e,t,r,n){var o,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(s=(a<3?o(s):a>3?o(t,r,s):o(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}function u(e,t,r,n){return new(r||(r=Promise))((function(o,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?o(e.value):new r((function(t){t(e.value)})).then(s,i)}c((n=n.apply(e,t||[])).next())}))}function l(e,t){var r,n,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}function p(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}}}}function h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return s}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}var f,y=function(e){function t(t){var r=e.call(this)||this;return r.started=!1,r.name=r.constructor.componentName,r.__componentDefaultParams=t,r}return i(t,e),t}(a),d=y;exports.OBSERVER_TYPE=void 0,(f=exports.OBSERVER_TYPE||(exports.OBSERVER_TYPE={})).ADD="ADD",f.REMOVE="REMOVE",f.CHANGE="CHANGE";var v={},g={},b={},E={};function T(e,t){v[e.gameObject.id]||(v[e.gameObject.id]={});var r=v[e.gameObject.id],n=e.name+"_"+t.join(",");if(r[n])return r[n];for(var o=t.length-1,a=e,s=0;s<o;s++)a=a[t[s]];return r[n]={property:a,key:t[o]},r[n]}function O(e){var t=e.systemName,r=e.componentName,n=e.component,o=e.prop,a=e.type;g[t].componentObserver.add({component:n,prop:o,type:a,componentName:r})}function _(e){var r,n,o=e.obj,a=e.key,s=e.prop,i=e.component,c=e.componentName;if(void 0!==o)if(a in o){if(Object.defineProperty(o,"_"+a,{enumerable:!1,writable:!0,value:o[a]}),s.deep&&t.isObject(o[a]))try{for(var u=p(Object.keys(o[a])),l=u.next();!l.done;l=u.next()){var h=l.value;_({obj:o[a],key:h,prop:s,component:i,componentName:c})}}catch(e){r={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}Object.defineProperty(o,a,{enumerable:!0,set:function(e){o["_"+a]!==e&&(o["_"+a]=e,function(e){var r=e.prop,n=e.component,o=e.componentName;for(var a in b){var s=(b[a]||{})[o];s&&s.findIndex((function(e){return t.isEqual(e,r)}))>-1&&O({systemName:a,componentName:o,component:n,prop:r,type:exports.OBSERVER_TYPE.CHANGE})}}({prop:s,component:i,componentName:c}))},get:function(){return o["_"+a]}})}else console.error("prop "+a+" not in component: "+c+", Can not observer")}function x(e,t){for(var r in void 0===t&&(t=e.name),b){(b[r]||{})[t]&&g[r].componentObserver.add({component:e,type:exports.OBSERVER_TYPE.REMOVE,componentName:t})}!function(e){e.gameObject&&delete v[e.gameObject.id]}(e)}var R=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Transform",t._parent=null,t.inScene=!1,t.children=[],t.position={x:0,y:0},t.size={width:0,height:0},t.origin={x:0,y:0},t.anchor={x:0,y:0},t.scale={x:1,y:1},t.skew={x:0,y:0},t.rotation=0,t}return i(t,e),t.prototype.init=function(e){var t,r;void 0===e&&(e={});try{for(var n=p(["position","size","origin","anchor","scale","skew"]),o=n.next();!o.done;o=n.next()){var a=o.value;Object.assign(this[a],e[a])}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}this.rotation=e.rotation||this.rotation},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},set:function(e){e?e.addChild(this):this.parent&&this.parent.removeChild(this)},enumerable:!1,configurable:!0}),t.prototype.addChild=function(e){if(e.parent===this){var t=this.children.findIndex((function(t){return t===e}));this.children.splice(t,1)}else e.parent&&e.parent.removeChild(e);e._parent=this,this.children.push(e)},t.prototype.removeChild=function(e){var t=this.children.findIndex((function(t){return t===e}));t>-1&&(this.children.splice(t,1),e._parent=null)},t.prototype.clearChildren=function(){this.children.length=0},t.componentName="Transform",c([r.type("vector2"),r.step(1)],t.prototype,"position",void 0),c([r.type("size"),r.step(1)],t.prototype,"size",void 0),c([r.type("vector2"),r.step(.1)],t.prototype,"origin",void 0),c([r.type("vector2"),r.step(.1)],t.prototype,"anchor",void 0),c([r.type("vector2"),r.step(.1)],t.prototype,"scale",void 0),c([r.type("vector2"),r.step(.1)],t.prototype,"skew",void 0),c([r.type("number"),r.step(.1)],t.prototype,"rotation",void 0),t}(d),S=0;var w=function(){function e(e,t){this._componentCache={},this.components=[],this._name=e,this.id=++S,this.addComponent(R,t)}return Object.defineProperty(e.prototype,"transform",{get:function(){return this.getComponent(R)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this.transform&&this.transform.parent&&this.transform.parent.gameObject},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scene",{get:function(){return this._scene},set:function(e){var t,r;if(this._scene!==e){var n=this._scene;if(this._scene=e,this.transform&&this.transform.children)try{for(var o=p(this.transform.children),a=o.next();!a.done;a=o.next()){a.value.gameObject.scene=e}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}e?e.addGameObject(this):n&&n.removeGameObject(this)}},enumerable:!1,configurable:!0}),e.prototype.addChild=function(t){if(t&&t.transform&&t!==this){if(!(t instanceof e))throw new Error("addChild only receive GameObject");if(!this.transform)throw new Error("gameObject '"+this.name+"' has been destroy");t.transform.parent=this.transform,t.scene=this.scene}},e.prototype.removeChild=function(t){return t instanceof e&&t.parent&&t.parent===this?(t.transform.parent=null,t.scene=null,t):t},e.prototype.addComponent=function(e,t){var r=function(e){return e instanceof y?e.name:e instanceof Function?e.componentName:void 0}(e);if(!this._componentCache[r]){var n;if(e instanceof Function)n=new e(t);else{if(!(e instanceof d))throw new Error("addComponent recieve Component and Component Constructor");n=e}if(n.gameObject)throw new Error("component has been added on gameObject "+n.gameObject.name);return n.gameObject=this,n.init&&n.init(n.__componentDefaultParams),function(e,t){for(var r in void 0===t&&(t=e.name),b)(b[r]||{})[t]&&g[r].componentObserver.add({component:e,type:exports.OBSERVER_TYPE.ADD,componentName:t})}(n,n.name),function(e,t){var r,n;if(void 0===t&&(t=e.name),t&&E[t]){if(!(e&&(o=e,o&&o.constructor&&"componentName"in o.constructor)))throw new Error("component param must be an instance of Component");var o;if(!e.gameObject||!e.gameObject.id)throw new Error("component should be add to a gameObject");try{for(var a=p(E[t]),s=a.next();!s.done;s=a.next()){var i=s.value,c=T(e,i.prop);_({obj:c.property,key:c.key,prop:i,component:e,componentName:t})}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}}(n,n.name),this.components.push(n),this._componentCache[r]=n,n.awake&&n.awake(),n}},e.prototype.removeComponent=function(e){var t;if("string"==typeof e?t=e:e instanceof d?t=e.name:e.componentName&&(t=e.componentName),"Transform"===t)throw new Error("Transform can't be removed");return this._removeComponent(t)},e.prototype._removeComponent=function(e){var t=this.components.findIndex((function(t){return t.name===e}));if(-1!==t){var r=this.components.splice(t,1)[0];return delete this._componentCache[e],delete r.__componentDefaultParams,r.onDestroy&&r.onDestroy(),x(r,e),r.gameObject=void 0,r}},e.prototype.getComponent=function(e){var t;return"string"==typeof e?t=e:e instanceof d?t=e.name:e.componentName&&(t=e.componentName),void 0!==this._componentCache[t]?this._componentCache[t]:void 0},e.prototype.remove=function(){if(this.parent)return this.parent.removeChild(this)},e.prototype.destroy=function(){for(var e in Array.from(this.transform.children).forEach((function(e){e.gameObject.destroy()})),this.remove(),this.transform.clearChildren(),this._componentCache)this._removeComponent(e);this.components.length=0},e}(),k=function(){function e(){this.events=[]}return e.prototype.add=function(e){var r=e.component,n=e.prop,o=e.type,a=e.componentName;o===exports.OBSERVER_TYPE.REMOVE&&(this.events=this.events.filter((function(e){return e.component!==r})));var s=this.events.findIndex((function(e){return e.component===r&&t.isEqual(e.prop,n)&&e.type===o}));s>-1&&this.events.splice(s,1),this.events.push({gameObject:r.gameObject,component:r,prop:n,type:o,componentName:a})},e.prototype.getChanged=function(){return this.events},Object.defineProperty(e.prototype,"changed",{get:function(){return this.events},enumerable:!1,configurable:!0}),e.prototype.clear=function(){var e=this.events;return this.events=[],e},e}(),j=function(){function e(e){this.started=!1,this.componentObserver=new k,this.__systemDefaultParams=e,this.name=this.constructor.systemName}return e.prototype.destroy=function(){var e;this.componentObserver=null,this.__systemDefaultParams=null,null===(e=this.onDestroy)||void 0===e||e.call(this)},e}();const N=function(e=!0){let t=null;return t=Date.now?Date.now:()=>(new Date).getTime(),t}(),C={originTime:0,playbackRate:1},I=Symbol("timeMark"),P=Symbol("playbackRate"),D=Symbol("timers"),M=Symbol("originTime"),A=Symbol("setTimer"),L=Symbol("parent");class V{constructor(e,t){e instanceof V&&(t=e,e={}),e=Object.assign({},C,e),t&&(this[L]=t);const r=e.nowtime||N;if(t)Object.defineProperty(this,"globalTime",{get:()=>t.currentTime});else{const e=r();Object.defineProperty(this,"globalTime",{get:()=>r()-e})}this[I]=[{globalTime:this.globalTime,localTime:-e.originTime,entropy:-e.originTime,playbackRate:e.playbackRate,globalEntropy:0}],this[L]&&(this[I][0].globalEntropy=this[L].entropy),this[M]=e.originTime,this[P]=e.playbackRate,this[D]=new Map}get parent(){return this[L]}get lastTimeMark(){return this[I][this[I].length-1]}markTime({time:e=this.currentTime,entropy:t=this.entropy,playbackRate:r=this.playbackRate}={}){const n={globalTime:this.globalTime,localTime:e,entropy:t,playbackRate:r,globalEntropy:this.globalEntropy};this[I].push(n)}get currentTime(){const{localTime:e,globalTime:t}=this.lastTimeMark;return e+(this.globalTime-t)*this.playbackRate}set currentTime(e){const t=this.currentTime,r=e,n=this[D];this.markTime({time:e}),Array.from(Object.entries(n)).forEach((([e,o])=>{if(!n.has(e))return;const{isEntropy:a,delay:s,heading:i}=o.time,{handler:c,startTime:u}=o;if(a)0===s&&(c(),this.clearTimeout(e));else{const n=u+s;(0===s||!1!==i&&(r-t)*s<=0||t<=n&&n<=r||t>=n&&n>=r)&&(c(),this.clearTimeout(e))}})),this.updateTimers()}get entropy(){const{entropy:e,globalEntropy:t}=this.lastTimeMark;return e+Math.abs((this.globalEntropy-t)*this.playbackRate)}get globalEntropy(){return this[L]?this[L].entropy:this.globalTime}set entropy(e){if(this.entropy>e){const t=this.seekTimeMark(e);this[I].length=t+1}this.markTime({entropy:e}),this.updateTimers()}fork(e){return new V(e,this)}seekGlobalTime(e){const t=this.seekTimeMark(e),r=this[I][t],{entropy:n,playbackRate:o,globalTime:a}=r;return a+(e-n)/Math.abs(o)}seekLocalTime(e){const t=this.seekTimeMark(e),r=this[I][t],{localTime:n,entropy:o,playbackRate:a}=r;return a>0?n+(e-o):n-(e-o)}seekTimeMark(e){const t=this[I];let r=0,n=t.length-1;if(e<=t[r].entropy)return r;if(e>=t[n].entropy)return n;let o=Math.floor((r+n)/2);for(;o>r&&o<n;){if(e===t[o].entropy)return o;e<t[o].entropy?n=o:e>t[o].entropy&&(r=o),o=Math.floor((r+n)/2)}return r}get playbackRate(){return this[P]}set playbackRate(e){e!==this.playbackRate&&(this.markTime({playbackRate:e}),this[P]=e,this.updateTimers())}get paused(){if(0===this.playbackRate)return!0;let e=this.parent;for(;e;){if(0===e.playbackRate)return!0;e=e.parent}return!1}updateTimers(){Array.from(this[D].entries()).forEach((([e,t])=>{this[A](t.handler,t.time,e)}))}clearTimeout(e){const t=this[D].get(e);t&&null!=t.timerID&&(this[L]?this[L].clearTimeout(t.timerID):clearTimeout(t.timerID)),this[D].delete(e)}clearInterval(e){return this.clearTimeout(e)}clear(){const e=this[D];Array.from(Object.keys(e)).forEach((e=>{this.clearTimeout(e)}))}setTimeout(e,t={delay:0}){return this[A](e,t)}setInterval(e,t={delay:0}){const r=this,n=this[A]((function o(){r[A](o,t,n),e()}),t);return n}[A](e,t,r=Symbol("timerID")){t=function(e){return"number"==typeof e?e={delay:e}:"entropy"in e&&(e={delay:e.entropy,isEntropy:!0}),e}(t);const n=this[D].get(r);let o,a,s,i=null;n?(this.clearTimeout(r),o=t.isEntropy?(t.delay-(this.entropy-n.startEntropy))/Math.abs(this.playbackRate):(t.delay-(this.currentTime-n.startTime))/this.playbackRate,a=n.startTime,s=n.startEntropy):(o=t.delay/(t.isEntropy?Math.abs(this.playbackRate):this.playbackRate),a=this.currentTime,s=this.entropy);const c=this[L],u=c?c.setTimeout.bind(c):setTimeout,l=t.heading;return!c&&!1===l&&o<0&&(o=1/0),(isFinite(o)||c)&&(o=Math.ceil(o),u!==setTimeout&&(o={delay:o,heading:l}),i=u((()=>{this[D].delete(r),e()}),o)),this[D].set(r,{timerID:i,handler:e,time:t,startTime:a,startEntropy:s}),r}}var X,G=V,F={autoStart:!0,frameRate:60},U=function(){function e(e){var t=this;e=Object.assign({},F,e),this._frameCount=0,this._frameDuration=1e3/e.frameRate,this.autoStart=e.autoStart,this.frameRate=e.frameRate,this.timeline=new G({originTime:0,playbackRate:1}),this._lastFrameTime=this.timeline.currentTime,this._tickers=new Set,this._requestId=null,this._ticker=function(){t._started&&(t._requestId=requestAnimationFrame(t._ticker),t.update())},this.autoStart&&this.start()}return e.prototype.update=function(){var e,t,r=this.timeline.currentTime,n=r-this._lastFrameTime;if(n>=this._frameDuration){var o=r-n%this._frameDuration,a=o-this._lastFrameTime;this._lastFrameTime=o;var s={deltaTime:a,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/a)};try{for(var i=p(this._tickers),c=i.next();!c.done;c=i.next()){var u=c.value;"function"==typeof u&&u(s)}}catch(t){e={error:t}}finally{try{c&&!c.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}}},e.prototype.add=function(e){this._tickers.add(e)},e.prototype.remove=function(e){this._tickers.delete(e)},e.prototype.start=function(){this._started||(this._started=!0,this.timeline.playbackRate=1,this._requestId=requestAnimationFrame(this._ticker))},e.prototype.pause=function(){this._started=!1,this.timeline.playbackRate=0},e.prototype.setPlaybackRate=function(e){this.timeline.playbackRate=e},e}(),B=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.gameObjects=[],n.scene=n,n}return i(t,e),t.prototype.addGameObject=function(e){this.gameObjects.push(e),e.transform&&(e.transform.inScene=!0)},t.prototype.removeGameObject=function(e){var t=this.gameObjects.indexOf(e);-1!==t&&(e.transform&&(e.transform.inScene=!1),this.gameObjects.splice(t,1))},t.prototype.destroy=function(){this.scene=null,e.prototype.destroy.call(this),this.gameObjects=null,this.canvas=null},t}(w);exports.LOAD_SCENE_MODE=void 0,(X=exports.LOAD_SCENE_MODE||(exports.LOAD_SCENE_MODE={})).SINGLE="SINGLE",X.MULTI_CANVAS="MULTI_CANVAS";var q=function(e){if((e instanceof j||e instanceof d)&&!e.started){e.started=!0;try{e.start&&e.start()}catch(t){e instanceof d?console.error(e.constructor.componentName+" start error",t):console.error(e.constructor.systemName+" start error",t)}}},Y=function(e){function r(t){var r,n,o=void 0===t?{}:t,a=o.systems,s=o.frameRate,i=void 0===s?60:s,c=o.autoStart,u=void 0===c||c,l=o.needScene,h=void 0===l||l,m=e.call(this)||this;if(m.playing=!1,m.started=!1,m.multiScenes=[],m.systems=[],window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=m),m.ticker=new U({autoStart:!1,frameRate:i}),m.initTicker(),a&&a.length)try{for(var f=p(a),y=f.next();!y.done;y=f.next()){var d=y.value;m.addSystem(d)}}catch(e){r={error:e}}finally{try{y&&!y.done&&(n=f.return)&&n.call(f)}finally{if(r)throw r.error}}return h&&m.loadScene(new B("scene")),u&&m.start(),m}return i(r,e),Object.defineProperty(r.prototype,"scene",{get:function(){return this._scene},set:function(e){this._scene=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"gameObjects",{get:function(){return function(e){var t,r,n,o=(null===(n=null==e?void 0:e.scene)||void 0===n?void 0:n.gameObjects)||[],a=null==e?void 0:e.multiScenes.map((function(e){return e.gameObjects})),s=[];try{for(var i=p(a),c=i.next();!c.done;c=i.next())s=m(s,c.value)}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return m(o,s)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(e,r){var n;if(e instanceof Function)n=new e(r);else{if(!(e instanceof j))return void console.warn("can only add System");n=e}if(!this.systems.find((function(e){return e.constructor===n.constructor}))){n.game=this,n.init&&n.init(n.__systemDefaultParams),function(e,t){b[t.systemName]=t.observerInfo,g[t.systemName]=e}(n,n.constructor),function(e){var r,n,o,a,s=[];e instanceof Array?s.push.apply(s,m(e)):s.push(e);try{for(var i=p(s),c=i.next();!c.done;c=i.next()){var u=c.value;for(var l in u.observerInfo){E[l]=E[l]||[];var h=E[l],f=function(e){-1===h.findIndex((function(r){return t.isEqual(r,e)}))&&E[l].push(e)};try{for(var y=(o=void 0,p(u.observerInfo[l])),d=y.next();!d.done;d=y.next())f(d.value)}catch(e){o={error:e}}finally{try{d&&!d.done&&(a=y.return)&&a.call(y)}finally{if(o)throw o.error}}}}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}(n.constructor);try{n.awake&&n.awake()}catch(e){console.error(n.constructor.systemName+" awake error",e)}return this.systems.push(n),n}console.warn(n.constructor.systemName+" System has been added")},r.prototype.removeSystem=function(e){if(e){var t=-1;"string"==typeof e?t=this.systems.findIndex((function(t){return t.name===e})):e instanceof Function?t=this.systems.findIndex((function(t){return t.constructor===e})):e instanceof j&&(t=this.systems.findIndex((function(t){return t===e}))),t>-1&&(this.systems[t].destroy&&this.systems[t].destroy(),this.systems.splice(t,1))}},r.prototype.getSystem=function(e){return this.systems.find((function(t){return"string"==typeof e?t.name===e:t instanceof e}))},r.prototype.pause=function(){this.playing&&(this.playing=!1,this.ticker.pause(),this.triggerPause())},r.prototype.start=function(){this.playing||(this.playing=!0,this.started=!0,this.ticker.start())},r.prototype.resume=function(){this.playing||(this.playing=!0,this.ticker.start(),this.triggerResume())},r.prototype.initTicker=function(){var e=this;this.ticker.add((function(t){var r,n,o,a;e.scene&&function(e,t){var r,n,o,a,s,i,c,u;void 0===t&&(t=[]);try{for(var l=p(t),h=l.next();!h.done;h=l.next()){var m=h.value;try{for(var f=(o=void 0,p(m.components)),y=f.next();!y.done;y=f.next()){var d=y.value;try{q(d),d.update&&d.update(e)}catch(e){console.error("gameObject: "+m.name+" "+d.name+" update error",e)}}}catch(e){o={error:e}}finally{try{y&&!y.done&&(a=f.return)&&a.call(f)}finally{if(o)throw o.error}}}}catch(e){r={error:e}}finally{try{h&&!h.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}try{for(var v=p(t),g=v.next();!g.done;g=v.next()){m=g.value;try{for(var b=(c=void 0,p(m.components)),E=b.next();!E.done;E=b.next()){d=E.value;try{d.lateUpdate&&d.lateUpdate(e)}catch(e){console.error("gameObject: "+m.name+" "+d.name+" lateUpdate error",e)}}}catch(e){c={error:e}}finally{try{E&&!E.done&&(u=b.return)&&u.call(b)}finally{if(c)throw c.error}}}}catch(e){s={error:e}}finally{try{g&&!g.done&&(i=v.return)&&i.call(v)}finally{if(s)throw s.error}}}(t,e.gameObjects);try{for(var s=p(e.systems),i=s.next();!i.done;i=s.next()){var c=i.value;try{q(c),c.update&&c.update(t)}catch(t){console.error(c.constructor.systemName+" update error",t)}}}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}try{for(var u=p(e.systems),l=u.next();!l.done;l=u.next()){c=l.value;try{c.lateUpdate&&c.lateUpdate(t)}catch(t){console.error(c.constructor.systemName+" lateUpdate error",t)}}}catch(e){o={error:e}}finally{try{l&&!l.done&&(a=u.return)&&a.call(u)}finally{if(o)throw o.error}}}))},r.prototype.triggerResume=function(){var e,t;!function(e){var t,r,n,o;try{for(var a=p(e),s=a.next();!s.done;s=a.next()){var i=s.value;try{for(var c=(n=void 0,p(i.components)),u=c.next();!u.done;u=c.next()){var l=u.value;try{l.onResume&&l.onResume()}catch(e){console.error("gameObject: "+i.name+", "+l.name+", onResume error",e)}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}(this.gameObjects);try{for(var r=p(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onResume&&o.onResume()}catch(e){console.error(o.constructor.systemName+", onResume error",e)}}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},r.prototype.triggerPause=function(){var e,t;!function(e){var t,r,n,o;try{for(var a=p(e),s=a.next();!s.done;s=a.next()){var i=s.value;try{for(var c=(n=void 0,p(i.components)),u=c.next();!u.done;u=c.next()){var l=u.value;try{l.onPause&&l.onPause()}catch(e){console.error("gameObject: "+i.name+", "+l.name+", onResume error",e)}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}(this.gameObjects);try{for(var r=p(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onPause&&o.onPause()}catch(e){console.error(o.constructor.systemName+", onPause error",e)}}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},r.prototype.destroySystems=function(){var e,t;try{for(var r=p(m(this.systems)),n=r.next();!n.done;n=r.next()){var o=n.value;this.removeSystem(o)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.systems.length=0},r.prototype.destroy=function(){this.removeAllListeners(),this.pause(),this.scene.destroy(),this.destroySystems(),this.ticker=null,this.scene=null,this.canvas=null,this.multiScenes=null},r.prototype.loadScene=function(e){var t=e.scene,r=e.mode,n=void 0===r?exports.LOAD_SCENE_MODE.SINGLE:r,o=e.params,a=void 0===o?{}:o;if(t){switch(n){case exports.LOAD_SCENE_MODE.SINGLE:this.scene=t;break;case exports.LOAD_SCENE_MODE.MULTI_CANVAS:this.multiScenes.push(t)}this.emit("sceneChanged",{scene:t,mode:n,params:a})}},r}(a);function z(e,t){e.constructor.IDEProps||(e.constructor.IDEProps=[]),e.constructor.IDEProps.push(t)}function H(e){return void 0===e&&(e={}),function(t){if(!t.observerInfo){for(var r in e)for(var n in e[r]){"string"==typeof e[r][n]&&(e[r][n]=[e[r][n]]);var o=void 0;Array.isArray(e[r][n])&&(o={prop:e[r][n],deep:!1},e[r][n]=o),"string"==typeof(o=e[r][n]).prop&&(o.prop=[o.prop])}t.observerInfo=e}}}var J,K,Q=function(e){function t(t){var r=t.resource,n=t.resourceTotal,o=e.call(this)||this;return o.progress=0,o.resourceTotal=0,o.resourceLoadedCount=0,o.resource=r,o.resourceTotal=n,0===n&&o.resource.emit(exports.LOAD_EVENT.COMPLETE,o),o}return i(t,e),t.prototype.onStart=function(){this.resource.emit(exports.LOAD_EVENT.START,this)},t.prototype.onProgress=function(e){this.resourceLoadedCount++,this.progress=Math.floor(this.resourceLoadedCount/this.resourceTotal*100)/100,e.success?this.resource.emit(exports.LOAD_EVENT.LOADED,this,e):this.resource.emit(exports.LOAD_EVENT.ERROR,this,e),this.resource.emit(exports.LOAD_EVENT.PROGRESS,this,e),this.resourceLoadedCount===this.resourceTotal&&this.resource.emit(exports.LOAD_EVENT.COMPLETE,this)},t}(a);exports.LOAD_EVENT=void 0,(J=exports.LOAD_EVENT||(exports.LOAD_EVENT={})).START="start",J.PROGRESS="progress",J.LOADED="loaded",J.COMPLETE="complete",J.ERROR="error",exports.RESOURCE_TYPE=void 0,(K=exports.RESOURCE_TYPE||(exports.RESOURCE_TYPE={})).IMAGE="IMAGE",K.SPRITE="SPRITE",K.SPRITE_ANIMATION="SPRITE_ANIMATION",K.DRAGONBONE="DRAGONBONE",K.SPINE="SPINE",K.AUDIO="AUDIO",K.VIDEO="VIDEO",n.XhrLoadStrategy.setExtensionXhrType("json",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("tex",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("ske",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("mp3",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("wav",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("aac",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("ogg",n.XhrResponseType.Buffer);var W={png:n.ImageLoadStrategy,jpg:n.ImageLoadStrategy,jpeg:n.ImageLoadStrategy,webp:n.ImageLoadStrategy,json:n.XhrLoadStrategy,tex:n.XhrLoadStrategy,ske:n.XhrLoadStrategy,audio:n.XhrLoadStrategy,video:n.VideoLoadStrategy},Z=new(function(e){function t(t){var r=e.call(this)||this;return r.timeout=6e3,r.resourcesMap={},r.makeInstanceFunctions={},r.destroyInstanceFunctions={},r.promiseMap={},r.loaders=[],t&&"number"==typeof t.timeout&&(r.timeout=t.timeout),r}return i(t,e),t.prototype.loadConfig=function(e){this.addResource(e),this.preload()},t.prototype.loadSingle=function(e){return this.addResource([e]),this.getResource(e.name)},t.prototype.addResource=function(e){var t,r;if(!e||e.length<1)console.warn("no resources");else try{for(var n=p(e),o=n.next();!o.done;o=n.next()){var a=o.value;this.resourcesMap[a.name]?console.warn(a.name+" was already added"):(this.resourcesMap[a.name]=a,this.resourcesMap[a.name].data={})}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},t.prototype.preload=function(){var e=[];for(var t in this.resourcesMap){var r=this.resourcesMap[t];r.preload&&!r.complete&&e.push(r.name)}this.progress=new Q({resource:this,resourceTotal:e.length}),this.loadResource({names:e,preload:!0})},t.prototype.getResource=function(e){return u(this,void 0,void 0,(function(){return l(this,(function(t){return this.loadResource({names:[e]}),[2,this.promiseMap[e]||Promise.resolve({})]}))}))},t.prototype.instance=function(e){return u(this,void 0,void 0,(function(){var t,r;return l(this,(function(n){switch(n.label){case 0:return t=this.resourcesMap[e],(r=this.makeInstanceFunctions[t.type])?[4,this.makeInstanceFunctions[t.type](t)]:[3,2];case 1:r=n.sent(),n.label=2;case 2:return[2,r]}}))}))},t.prototype.destroy=function(e){return u(this,void 0,void 0,(function(){return l(this,(function(t){switch(t.label){case 0:return[4,this._destroy(e)];case 1:return t.sent(),[2]}}))}))},t.prototype._destroy=function(e,t){return void 0===t&&(t=!1),u(this,void 0,void 0,(function(){var r,n;return l(this,(function(o){switch(o.label){case 0:if(!(r=this.resourcesMap[e]))return[2];if(t)return[3,5];o.label=1;case 1:return o.trys.push([1,4,,5]),this.destroyInstanceFunctions[r.type]?[4,this.destroyInstanceFunctions[r.type](r)]:[3,3];case 2:o.sent(),o.label=3;case 3:return[3,5];case 4:return n=o.sent(),console.warn("destroy resource "+r.name+" error with '"+n.message+"'"),[3,5];case 5:return delete this.promiseMap[e],r.data={},r.complete=!1,r.instance=void 0,[2]}}))}))},t.prototype.registerInstance=function(e,t){this.makeInstanceFunctions[e]=t},t.prototype.registerDestroy=function(e,t){this.destroyInstanceFunctions[e]=t},t.prototype.loadResource=function(e){var t=this,r=e.names,n=void 0===r?[]:r,o=e.preload,a=void 0!==o&&o,s=n.filter((function(e){return!t.promiseMap[e]&&t.resourcesMap[e]}));if(s.length){var i={},c=this.getLoader(a);s.forEach((function(e){t.promiseMap[e]=new Promise((function(t){return i[e]=t}));var r=t.resourcesMap[e];for(var n in r.src){var o=r.src[n].type;"data"===o?(r.data[n]=r.src[n].data,t.doComplete(e,i[e],a)):c.add({url:r.src[n].url,name:r.name+"_"+n,strategy:W[o],metadata:{key:n,name:r.name,resolves:i}})}})),c.load()}},t.prototype.doComplete=function(e,t,r){return void 0===r&&(r=!1),u(this,void 0,void 0,(function(){var n,o,a,s;return l(this,(function(i){switch(i.label){case 0:if(n=this.resourcesMap[e],o={name:e,resource:this.resourcesMap[e],success:!0},!this.checkAllLoaded(e))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),a=n,[4,this.instance(e)];case 2:return a.instance=i.sent(),n.complete=!0,r&&this.progress.onProgress(o),t(n),[3,4];case 3:return s=i.sent(),n.complete=!1,r&&(o.errMsg=s.message,o.success=!1,this.progress.onProgress(o)),t({}),[3,4];case 4:return[2]}}))}))},t.prototype.checkAllLoaded=function(e){var t=this.resourcesMap[e];return Array.from(Object.keys(t.src)).every((function(e){return t.data[e]}))},t.prototype.getLoader=function(e){var t=this;void 0===e&&(e=!1);var r=this.loaders.find((function(e){return!e.loading}));return r||(r=new n.Loader,this.loaders.push(r)),e&&r.onStart.once((function(){t.progress.onStart()})),r.onLoad.add((function(r,n){t.onLoad({preload:e,resource:n})})),r.onError.add((function(r,n,o){t.onError({errMsg:r,resource:o,preload:e})})),r.onComplete.once((function(){r.onLoad.detachAll(),r.onError.detachAll(),r.reset()})),r},t.prototype.onLoad=function(e){var t=e.preload,r=void 0!==t&&t,n=e.resource;return u(this,void 0,void 0,(function(){var e,t,o,a,s;return l(this,(function(i){return e=n.metadata,t=e.key,o=e.name,a=e.resolves,s=n.data,this.resourcesMap[o].data[t]=s,this.doComplete(o,a[o],r),[2]}))}))},t.prototype.onError=function(e){var t=e.errMsg,r=e.preload,n=void 0!==r&&r,o=e.resource;return u(this,void 0,void 0,(function(){var e,r,a,s;return l(this,(function(i){return e=o.metadata,r=e.name,a=e.resolves,this._destroy(r,!0),a[r]({}),n&&(s={name:r,resource:this.resourcesMap[r],success:!1,errMsg:t},this.progress.onProgress(s)),[2]}))}))},t}(a)),$={IDEProp:z,componentObserver:H};console.log("Eva.js version: 1.1.11"),exports.Component=d,exports.Game=Y,exports.GameObject=w,exports.IDEProp=z,exports.Scene=B,exports.System=j,exports.Transform=R,exports.componentObserver=H,exports.decorators=$,exports.resource=Z,exports.version="1.1.11";
"use strict";Object.defineProperty(exports,"__esModule",{value:!0});var e=require("eventemitter3"),t=require("lodash-es"),r=require("@eva/inspector-decorator"),n=require("resource-loader");function o(e){return e&&"object"==typeof e&&"default"in e?e.default:e}function a(e){if(e&&e.__esModule)return e;var t=Object.create(null);return e&&Object.keys(e).forEach((function(r){t[r]=e[r]})),t.default=e,Object.freeze(t)}var s=o(e),i=a(n),c=function(e,t){return(c=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 u(e,t){function r(){this.constructor=e}c(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function l(e,t,r,n){var o,a=arguments.length,s=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,r,n);else for(var i=e.length-1;i>=0;i--)(o=e[i])&&(s=(a<3?o(s):a>3?o(t,r,s):o(t,r))||s);return a>3&&s&&Object.defineProperty(t,r,s),s}function p(e,t,r,n){return new(r||(r=Promise))((function(o,a){function s(e){try{c(n.next(e))}catch(e){a(e)}}function i(e){try{c(n.throw(e))}catch(e){a(e)}}function c(e){e.done?o(e.value):new r((function(t){t(e.value)})).then(s,i)}c((n=n.apply(e,t||[])).next())}))}function h(e,t){var r,n,o,a,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:i(0),throw:i(1),return:i(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function i(a){return function(i){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&a[0]?n.return:a[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,a[1])).done)return o;switch(n=0,o&&(a=[2&a[0],o.value]),a[0]){case 0:case 1:o=a;break;case 4:return s.label++,{value:a[1],done:!1};case 5:s.label++,n=a[1],a=[0];continue;case 7:a=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){s=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){s.label=a[1];break}if(6===a[0]&&s.label<o[1]){s.label=o[1],o=a;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(a);break}o[2]&&s.ops.pop(),s.trys.pop();continue}a=t.call(e,s)}catch(e){a=[6,e],n=0}finally{r=o=0}if(5&a[0])throw a[1];return{value:a[0]?a[1]:void 0,done:!0}}([a,i])}}}function f(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}}}}function m(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),s=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)s.push(n.value)}catch(e){o={error:e}}finally{try{n&&!n.done&&(r=a.return)&&r.call(a)}finally{if(o)throw o.error}}return s}function y(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(m(arguments[t]));return e}var d,v=function(e){function t(t){var r=e.call(this)||this;return r.started=!1,r.name=r.constructor.componentName,r.__componentDefaultParams=t,r}return u(t,e),t}(s),b=v;exports.OBSERVER_TYPE=void 0,(d=exports.OBSERVER_TYPE||(exports.OBSERVER_TYPE={})).ADD="ADD",d.REMOVE="REMOVE",d.CHANGE="CHANGE";var g={},E={},T={},O={};function _(e,t){g[e.gameObject.id]||(g[e.gameObject.id]={});var r=g[e.gameObject.id],n=e.name+"_"+t.join(",");if(r[n])return r[n];for(var o=t.length-1,a=e,s=0;s<o;s++)a=a[t[s]];return r[n]={property:a,key:t[o]},r[n]}function x(e){var t=e.systemName,r=e.componentName,n=e.component,o=e.prop,a=e.type;E[t].componentObserver.add({component:n,prop:o,type:a,componentName:r})}function R(e){var r,n,o=e.obj,a=e.key,s=e.prop,i=e.component,c=e.componentName;if(void 0!==o)if(a in o){if(Object.defineProperty(o,"_"+a,{enumerable:!1,writable:!0,value:o[a]}),s.deep&&t.isObject(o[a]))try{for(var u=f(Object.keys(o[a])),l=u.next();!l.done;l=u.next()){var p=l.value;R({obj:o[a],key:p,prop:s,component:i,componentName:c})}}catch(e){r={error:e}}finally{try{l&&!l.done&&(n=u.return)&&n.call(u)}finally{if(r)throw r.error}}Object.defineProperty(o,a,{enumerable:!0,set:function(e){o["_"+a]!==e&&(o["_"+a]=e,function(e){var r=e.prop,n=e.component,o=e.componentName;for(var a in T){var s=(T[a]||{})[o];s&&s.findIndex((function(e){return t.isEqual(e,r)}))>-1&&x({systemName:a,componentName:o,component:n,prop:r,type:exports.OBSERVER_TYPE.CHANGE})}}({prop:s,component:i,componentName:c}))},get:function(){return o["_"+a]}})}else console.error("prop "+a+" not in component: "+c+", Can not observer")}function S(e,t){for(var r in void 0===t&&(t=e.name),T){(T[r]||{})[t]&&E[r].componentObserver.add({component:e,type:exports.OBSERVER_TYPE.REMOVE,componentName:t})}!function(e){e.gameObject&&delete g[e.gameObject.id]}(e)}var w=function(e){function t(){var t=null!==e&&e.apply(this,arguments)||this;return t.name="Transform",t._parent=null,t.inScene=!1,t.children=[],t.position={x:0,y:0},t.size={width:0,height:0},t.origin={x:0,y:0},t.anchor={x:0,y:0},t.scale={x:1,y:1},t.skew={x:0,y:0},t.rotation=0,t}return u(t,e),t.prototype.init=function(e){var t,r;void 0===e&&(e={});try{for(var n=f(["position","size","origin","anchor","scale","skew"]),o=n.next();!o.done;o=n.next()){var a=o.value;Object.assign(this[a],e[a])}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}this.rotation=e.rotation||this.rotation},Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},set:function(e){e?e.addChild(this):this.parent&&this.parent.removeChild(this)},enumerable:!1,configurable:!0}),t.prototype.addChild=function(e){if(e.parent===this){var t=this.children.findIndex((function(t){return t===e}));this.children.splice(t,1)}else e.parent&&e.parent.removeChild(e);e._parent=this,this.children.push(e)},t.prototype.removeChild=function(e){var t=this.children.findIndex((function(t){return t===e}));t>-1&&(this.children.splice(t,1),e._parent=null)},t.prototype.clearChildren=function(){this.children.length=0},t.componentName="Transform",l([r.type("vector2"),r.step(1)],t.prototype,"position",void 0),l([r.type("size"),r.step(1)],t.prototype,"size",void 0),l([r.type("vector2"),r.step(.1)],t.prototype,"origin",void 0),l([r.type("vector2"),r.step(.1)],t.prototype,"anchor",void 0),l([r.type("vector2"),r.step(.1)],t.prototype,"scale",void 0),l([r.type("vector2"),r.step(.1)],t.prototype,"skew",void 0),l([r.type("number"),r.step(.1)],t.prototype,"rotation",void 0),t}(b),k=0;var j=function(){function e(e,t){this._componentCache={},this.components=[],this._name=e,this.id=++k,this.addComponent(w,t)}return Object.defineProperty(e.prototype,"transform",{get:function(){return this.getComponent(w)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this.transform&&this.transform.parent&&this.transform.parent.gameObject},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"name",{get:function(){return this._name},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"scene",{get:function(){return this._scene},set:function(e){var t,r;if(this._scene!==e){var n=this._scene;if(this._scene=e,this.transform&&this.transform.children)try{for(var o=f(this.transform.children),a=o.next();!a.done;a=o.next()){a.value.gameObject.scene=e}}catch(e){t={error:e}}finally{try{a&&!a.done&&(r=o.return)&&r.call(o)}finally{if(t)throw t.error}}e?e.addGameObject(this):n&&n.removeGameObject(this)}},enumerable:!1,configurable:!0}),e.prototype.addChild=function(t){if(t&&t.transform&&t!==this){if(!(t instanceof e))throw new Error("addChild only receive GameObject");if(!this.transform)throw new Error("gameObject '"+this.name+"' has been destroy");t.transform.parent=this.transform,t.scene=this.scene}},e.prototype.removeChild=function(t){return t instanceof e&&t.parent&&t.parent===this?(t.transform.parent=null,t.scene=null,t):t},e.prototype.addComponent=function(e,t){var r=function(e){return e instanceof v?e.name:e instanceof Function?e.componentName:void 0}(e);if(!this._componentCache[r]){var n;if(e instanceof Function)n=new e(t);else{if(!(e instanceof b))throw new Error("addComponent recieve Component and Component Constructor");n=e}if(n.gameObject)throw new Error("component has been added on gameObject "+n.gameObject.name);return n.gameObject=this,n.init&&n.init(n.__componentDefaultParams),function(e,t){for(var r in void 0===t&&(t=e.name),T)(T[r]||{})[t]&&E[r].componentObserver.add({component:e,type:exports.OBSERVER_TYPE.ADD,componentName:t})}(n,n.name),function(e,t){var r,n;if(void 0===t&&(t=e.name),t&&O[t]){if(!(e&&(o=e,o&&o.constructor&&"componentName"in o.constructor)))throw new Error("component param must be an instance of Component");var o;if(!e.gameObject||!e.gameObject.id)throw new Error("component should be add to a gameObject");try{for(var a=f(O[t]),s=a.next();!s.done;s=a.next()){var i=s.value,c=_(e,i.prop);R({obj:c.property,key:c.key,prop:i,component:e,componentName:t})}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=a.return)&&n.call(a)}finally{if(r)throw r.error}}}}(n,n.name),this.components.push(n),this._componentCache[r]=n,n.awake&&n.awake(),n}},e.prototype.removeComponent=function(e){var t;if("string"==typeof e?t=e:e instanceof b?t=e.name:e.componentName&&(t=e.componentName),"Transform"===t)throw new Error("Transform can't be removed");return this._removeComponent(t)},e.prototype._removeComponent=function(e){var t=this.components.findIndex((function(t){return t.name===e}));if(-1!==t){var r=this.components.splice(t,1)[0];return delete this._componentCache[e],delete r.__componentDefaultParams,r.onDestroy&&r.onDestroy(),S(r,e),r.gameObject=void 0,r}},e.prototype.getComponent=function(e){var t;return"string"==typeof e?t=e:e instanceof b?t=e.name:e.componentName&&(t=e.componentName),void 0!==this._componentCache[t]?this._componentCache[t]:void 0},e.prototype.remove=function(){if(this.parent)return this.parent.removeChild(this)},e.prototype.destroy=function(){for(var e in Array.from(this.transform.children).forEach((function(e){e.gameObject.destroy()})),this.remove(),this.transform.clearChildren(),this._componentCache)this._removeComponent(e);this.components.length=0},e}(),P=function(){function e(){this.events=[]}return e.prototype.add=function(e){var r=e.component,n=e.prop,o=e.type,a=e.componentName;o===exports.OBSERVER_TYPE.REMOVE&&(this.events=this.events.filter((function(e){return e.component!==r})));var s=this.events.findIndex((function(e){return e.component===r&&t.isEqual(e.prop,n)&&e.type===o}));s>-1&&this.events.splice(s,1),this.events.push({gameObject:r.gameObject,component:r,prop:n,type:o,componentName:a})},e.prototype.getChanged=function(){return this.events},Object.defineProperty(e.prototype,"changed",{get:function(){return this.events},enumerable:!1,configurable:!0}),e.prototype.clear=function(){var e=this.events;return this.events=[],e},e}(),N=function(){function e(e){this.started=!1,this.componentObserver=new P,this.__systemDefaultParams=e,this.name=this.constructor.systemName}return e.prototype.destroy=function(){var e;this.componentObserver=null,this.__systemDefaultParams=null,null===(e=this.onDestroy)||void 0===e||e.call(this)},e}();const C=function(e=!0){let t=null;return t=Date.now?Date.now:()=>(new Date).getTime(),t}(),I={originTime:0,playbackRate:1},M=Symbol("timeMark"),D=Symbol("playbackRate"),A=Symbol("timers"),L=Symbol("originTime"),V=Symbol("setTimer"),X=Symbol("parent");class G{constructor(e,t){e instanceof G&&(t=e,e={}),e=Object.assign({},I,e),t&&(this[X]=t);const r=e.nowtime||C;if(t)Object.defineProperty(this,"globalTime",{get:()=>t.currentTime});else{const e=r();Object.defineProperty(this,"globalTime",{get:()=>r()-e})}this[M]=[{globalTime:this.globalTime,localTime:-e.originTime,entropy:-e.originTime,playbackRate:e.playbackRate,globalEntropy:0}],this[X]&&(this[M][0].globalEntropy=this[X].entropy),this[L]=e.originTime,this[D]=e.playbackRate,this[A]=new Map}get parent(){return this[X]}get lastTimeMark(){return this[M][this[M].length-1]}markTime({time:e=this.currentTime,entropy:t=this.entropy,playbackRate:r=this.playbackRate}={}){const n={globalTime:this.globalTime,localTime:e,entropy:t,playbackRate:r,globalEntropy:this.globalEntropy};this[M].push(n)}get currentTime(){const{localTime:e,globalTime:t}=this.lastTimeMark;return e+(this.globalTime-t)*this.playbackRate}set currentTime(e){const t=this.currentTime,r=e,n=this[A];this.markTime({time:e}),Array.from(Object.entries(n)).forEach((([e,o])=>{if(!n.has(e))return;const{isEntropy:a,delay:s,heading:i}=o.time,{handler:c,startTime:u}=o;if(a)0===s&&(c(),this.clearTimeout(e));else{const n=u+s;(0===s||!1!==i&&(r-t)*s<=0||t<=n&&n<=r||t>=n&&n>=r)&&(c(),this.clearTimeout(e))}})),this.updateTimers()}get entropy(){const{entropy:e,globalEntropy:t}=this.lastTimeMark;return e+Math.abs((this.globalEntropy-t)*this.playbackRate)}get globalEntropy(){return this[X]?this[X].entropy:this.globalTime}set entropy(e){if(this.entropy>e){const t=this.seekTimeMark(e);this[M].length=t+1}this.markTime({entropy:e}),this.updateTimers()}fork(e){return new G(e,this)}seekGlobalTime(e){const t=this.seekTimeMark(e),r=this[M][t],{entropy:n,playbackRate:o,globalTime:a}=r;return a+(e-n)/Math.abs(o)}seekLocalTime(e){const t=this.seekTimeMark(e),r=this[M][t],{localTime:n,entropy:o,playbackRate:a}=r;return a>0?n+(e-o):n-(e-o)}seekTimeMark(e){const t=this[M];let r=0,n=t.length-1;if(e<=t[r].entropy)return r;if(e>=t[n].entropy)return n;let o=Math.floor((r+n)/2);for(;o>r&&o<n;){if(e===t[o].entropy)return o;e<t[o].entropy?n=o:e>t[o].entropy&&(r=o),o=Math.floor((r+n)/2)}return r}get playbackRate(){return this[D]}set playbackRate(e){e!==this.playbackRate&&(this.markTime({playbackRate:e}),this[D]=e,this.updateTimers())}get paused(){if(0===this.playbackRate)return!0;let e=this.parent;for(;e;){if(0===e.playbackRate)return!0;e=e.parent}return!1}updateTimers(){Array.from(this[A].entries()).forEach((([e,t])=>{this[V](t.handler,t.time,e)}))}clearTimeout(e){const t=this[A].get(e);t&&null!=t.timerID&&(this[X]?this[X].clearTimeout(t.timerID):clearTimeout(t.timerID)),this[A].delete(e)}clearInterval(e){return this.clearTimeout(e)}clear(){const e=this[A];Array.from(Object.keys(e)).forEach((e=>{this.clearTimeout(e)}))}setTimeout(e,t={delay:0}){return this[V](e,t)}setInterval(e,t={delay:0}){const r=this,n=this[V]((function o(){r[V](o,t,n),e()}),t);return n}[V](e,t,r=Symbol("timerID")){t=function(e){return"number"==typeof e?e={delay:e}:"entropy"in e&&(e={delay:e.entropy,isEntropy:!0}),e}(t);const n=this[A].get(r);let o,a,s,i=null;n?(this.clearTimeout(r),o=t.isEntropy?(t.delay-(this.entropy-n.startEntropy))/Math.abs(this.playbackRate):(t.delay-(this.currentTime-n.startTime))/this.playbackRate,a=n.startTime,s=n.startEntropy):(o=t.delay/(t.isEntropy?Math.abs(this.playbackRate):this.playbackRate),a=this.currentTime,s=this.entropy);const c=this[X],u=c?c.setTimeout.bind(c):setTimeout,l=t.heading;return!c&&!1===l&&o<0&&(o=1/0),(isFinite(o)||c)&&(o=Math.ceil(o),u!==setTimeout&&(o={delay:o,heading:l}),i=u((()=>{this[A].delete(r),e()}),o)),this[A].set(r,{timerID:i,handler:e,time:t,startTime:a,startEntropy:s}),r}}var F,U=G,B={autoStart:!0,frameRate:60},q=function(){function e(e){var t=this;e=Object.assign({},B,e),this._frameCount=0,this._frameDuration=1e3/e.frameRate,this.autoStart=e.autoStart,this.frameRate=e.frameRate,this.timeline=new U({originTime:0,playbackRate:1}),this._lastFrameTime=this.timeline.currentTime,this._tickers=new Set,this._requestId=null,this._ticker=function(){t._started&&(t._requestId=requestAnimationFrame(t._ticker),t.update())},this.autoStart&&this.start()}return e.prototype.update=function(){var e,t,r=this.timeline.currentTime,n=r-this._lastFrameTime;if(n>=this._frameDuration){var o=r-n%this._frameDuration,a=o-this._lastFrameTime;this._lastFrameTime=o;var s={deltaTime:a,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/a)};try{for(var i=f(this._tickers),c=i.next();!c.done;c=i.next()){var u=c.value;"function"==typeof u&&u(s)}}catch(t){e={error:t}}finally{try{c&&!c.done&&(t=i.return)&&t.call(i)}finally{if(e)throw e.error}}}},e.prototype.add=function(e){this._tickers.add(e)},e.prototype.remove=function(e){this._tickers.delete(e)},e.prototype.start=function(){this._started||(this._started=!0,this.timeline.playbackRate=1,this._requestId=requestAnimationFrame(this._ticker))},e.prototype.pause=function(){this._started=!1,this.timeline.playbackRate=0},e.prototype.setPlaybackRate=function(e){this.timeline.playbackRate=e},e}(),Y=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.gameObjects=[],n.scene=n,n}return u(t,e),t.prototype.addGameObject=function(e){this.gameObjects.push(e),e.transform&&(e.transform.inScene=!0)},t.prototype.removeGameObject=function(e){var t=this.gameObjects.indexOf(e);-1!==t&&(e.transform&&(e.transform.inScene=!1),this.gameObjects.splice(t,1))},t.prototype.destroy=function(){this.scene=null,e.prototype.destroy.call(this),this.gameObjects=null,this.canvas=null},t}(j);exports.LOAD_SCENE_MODE=void 0,(F=exports.LOAD_SCENE_MODE||(exports.LOAD_SCENE_MODE={})).SINGLE="SINGLE",F.MULTI_CANVAS="MULTI_CANVAS";var H=function(e){if((e instanceof N||e instanceof b)&&!e.started){e.started=!0;try{e.start&&e.start()}catch(t){e instanceof b?console.error(e.constructor.componentName+" start error",t):console.error(e.constructor.systemName+" start error",t)}}},z=function(e){function r(t){var r,n,o=void 0===t?{}:t,a=o.systems,s=o.frameRate,i=void 0===s?60:s,c=o.autoStart,u=void 0===c||c,l=o.needScene,p=void 0===l||l,h=e.call(this)||this;if(h.playing=!1,h.started=!1,h.multiScenes=[],h.systems=[],window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=h),h.ticker=new q({autoStart:!1,frameRate:i}),h.initTicker(),a&&a.length)try{for(var m=f(a),y=m.next();!y.done;y=m.next()){var d=y.value;h.addSystem(d)}}catch(e){r={error:e}}finally{try{y&&!y.done&&(n=m.return)&&n.call(m)}finally{if(r)throw r.error}}return p&&h.loadScene(new Y("scene")),u&&h.start(),h}return u(r,e),Object.defineProperty(r.prototype,"scene",{get:function(){return this._scene},set:function(e){this._scene=e},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"gameObjects",{get:function(){return function(e){var t,r,n,o=(null===(n=null==e?void 0:e.scene)||void 0===n?void 0:n.gameObjects)||[],a=null==e?void 0:e.multiScenes.map((function(e){return e.gameObjects})),s=[];try{for(var i=f(a),c=i.next();!c.done;c=i.next())s=y(s,c.value)}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=i.return)&&r.call(i)}finally{if(t)throw t.error}}return y(o,s)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(e,r){var n;if(e instanceof Function)n=new e(r);else{if(!(e instanceof N))return void console.warn("can only add System");n=e}if(!this.systems.find((function(e){return e.constructor===n.constructor}))){n.game=this,n.init&&n.init(n.__systemDefaultParams),function(e,t){T[t.systemName]=t.observerInfo,E[t.systemName]=e}(n,n.constructor),function(e){var r,n,o,a,s=[];e instanceof Array?s.push.apply(s,y(e)):s.push(e);try{for(var i=f(s),c=i.next();!c.done;c=i.next()){var u=c.value;for(var l in u.observerInfo){O[l]=O[l]||[];var p=O[l],h=function(e){-1===p.findIndex((function(r){return t.isEqual(r,e)}))&&O[l].push(e)};try{for(var m=(o=void 0,f(u.observerInfo[l])),d=m.next();!d.done;d=m.next())h(d.value)}catch(e){o={error:e}}finally{try{d&&!d.done&&(a=m.return)&&a.call(m)}finally{if(o)throw o.error}}}}}catch(e){r={error:e}}finally{try{c&&!c.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}(n.constructor);try{n.awake&&n.awake()}catch(e){console.error(n.constructor.systemName+" awake error",e)}return this.systems.push(n),n}console.warn(n.constructor.systemName+" System has been added")},r.prototype.removeSystem=function(e){if(e){var t=-1;"string"==typeof e?t=this.systems.findIndex((function(t){return t.name===e})):e instanceof Function?t=this.systems.findIndex((function(t){return t.constructor===e})):e instanceof N&&(t=this.systems.findIndex((function(t){return t===e}))),t>-1&&(this.systems[t].destroy&&this.systems[t].destroy(),this.systems.splice(t,1))}},r.prototype.getSystem=function(e){return this.systems.find((function(t){return"string"==typeof e?t.name===e:t instanceof e}))},r.prototype.pause=function(){this.playing&&(this.playing=!1,this.ticker.pause(),this.triggerPause())},r.prototype.start=function(){this.playing||(this.playing=!0,this.started=!0,this.ticker.start())},r.prototype.resume=function(){this.playing||(this.playing=!0,this.ticker.start(),this.triggerResume())},r.prototype.initTicker=function(){var e=this;this.ticker.add((function(t){var r,n,o,a;e.scene&&function(e,t){var r,n,o,a,s,i,c,u;void 0===t&&(t=[]);try{for(var l=f(t),p=l.next();!p.done;p=l.next()){var h=p.value;try{for(var m=(o=void 0,f(h.components)),y=m.next();!y.done;y=m.next()){var d=y.value;try{H(d),d.update&&d.update(e)}catch(e){console.error("gameObject: "+h.name+" "+d.name+" update error",e)}}}catch(e){o={error:e}}finally{try{y&&!y.done&&(a=m.return)&&a.call(m)}finally{if(o)throw o.error}}}}catch(e){r={error:e}}finally{try{p&&!p.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}try{for(var v=f(t),b=v.next();!b.done;b=v.next()){h=b.value;try{for(var g=(c=void 0,f(h.components)),E=g.next();!E.done;E=g.next()){d=E.value;try{d.lateUpdate&&d.lateUpdate(e)}catch(e){console.error("gameObject: "+h.name+" "+d.name+" lateUpdate error",e)}}}catch(e){c={error:e}}finally{try{E&&!E.done&&(u=g.return)&&u.call(g)}finally{if(c)throw c.error}}}}catch(e){s={error:e}}finally{try{b&&!b.done&&(i=v.return)&&i.call(v)}finally{if(s)throw s.error}}}(t,e.gameObjects);try{for(var s=f(e.systems),i=s.next();!i.done;i=s.next()){var c=i.value;try{H(c),c.update&&c.update(t)}catch(t){console.error(c.constructor.systemName+" update error",t)}}}catch(e){r={error:e}}finally{try{i&&!i.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}try{for(var u=f(e.systems),l=u.next();!l.done;l=u.next()){c=l.value;try{c.lateUpdate&&c.lateUpdate(t)}catch(t){console.error(c.constructor.systemName+" lateUpdate error",t)}}}catch(e){o={error:e}}finally{try{l&&!l.done&&(a=u.return)&&a.call(u)}finally{if(o)throw o.error}}}))},r.prototype.triggerResume=function(){var e,t;!function(e){var t,r,n,o;try{for(var a=f(e),s=a.next();!s.done;s=a.next()){var i=s.value;try{for(var c=(n=void 0,f(i.components)),u=c.next();!u.done;u=c.next()){var l=u.value;try{l.onResume&&l.onResume()}catch(e){console.error("gameObject: "+i.name+", "+l.name+", onResume error",e)}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}(this.gameObjects);try{for(var r=f(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onResume&&o.onResume()}catch(e){console.error(o.constructor.systemName+", onResume error",e)}}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},r.prototype.triggerPause=function(){var e,t;!function(e){var t,r,n,o;try{for(var a=f(e),s=a.next();!s.done;s=a.next()){var i=s.value;try{for(var c=(n=void 0,f(i.components)),u=c.next();!u.done;u=c.next()){var l=u.value;try{l.onPause&&l.onPause()}catch(e){console.error("gameObject: "+i.name+", "+l.name+", onResume error",e)}}}catch(e){n={error:e}}finally{try{u&&!u.done&&(o=c.return)&&o.call(c)}finally{if(n)throw n.error}}}}catch(e){t={error:e}}finally{try{s&&!s.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}}(this.gameObjects);try{for(var r=f(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onPause&&o.onPause()}catch(e){console.error(o.constructor.systemName+", onPause error",e)}}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}},r.prototype.destroySystems=function(){var e,t;try{for(var r=f(y(this.systems)),n=r.next();!n.done;n=r.next()){var o=n.value;this.removeSystem(o)}}catch(t){e={error:t}}finally{try{n&&!n.done&&(t=r.return)&&t.call(r)}finally{if(e)throw e.error}}this.systems.length=0},r.prototype.destroy=function(){this.removeAllListeners(),this.pause(),this.scene.destroy(),this.destroySystems(),this.ticker=null,this.scene=null,this.canvas=null,this.multiScenes=null},r.prototype.loadScene=function(e){var t=e.scene,r=e.mode,n=void 0===r?exports.LOAD_SCENE_MODE.SINGLE:r,o=e.params,a=void 0===o?{}:o;if(t){switch(n){case exports.LOAD_SCENE_MODE.SINGLE:this.scene=t;break;case exports.LOAD_SCENE_MODE.MULTI_CANVAS:this.multiScenes.push(t)}this.emit("sceneChanged",{scene:t,mode:n,params:a})}},r}(s);function J(e,t){e.constructor.IDEProps||(e.constructor.IDEProps=[]),e.constructor.IDEProps.push(t)}function K(e){return void 0===e&&(e={}),function(t){if(!t.observerInfo){for(var r in e)for(var n in e[r]){"string"==typeof e[r][n]&&(e[r][n]=[e[r][n]]);var o=void 0;Array.isArray(e[r][n])&&(o={prop:e[r][n],deep:!1},e[r][n]=o),"string"==typeof(o=e[r][n]).prop&&(o.prop=[o.prop])}t.observerInfo=e}}}var Q,W,Z=function(e){function t(t){var r=t.resource,n=t.resourceTotal,o=e.call(this)||this;return o.progress=0,o.resourceTotal=0,o.resourceLoadedCount=0,o.resource=r,o.resourceTotal=n,0===n&&o.resource.emit(exports.LOAD_EVENT.COMPLETE,o),o}return u(t,e),t.prototype.onStart=function(){this.resource.emit(exports.LOAD_EVENT.START,this)},t.prototype.onProgress=function(e){this.resourceLoadedCount++,this.progress=Math.floor(this.resourceLoadedCount/this.resourceTotal*100)/100,e.success?this.resource.emit(exports.LOAD_EVENT.LOADED,this,e):this.resource.emit(exports.LOAD_EVENT.ERROR,this,e),this.resource.emit(exports.LOAD_EVENT.PROGRESS,this,e),this.resourceLoadedCount===this.resourceTotal&&this.resource.emit(exports.LOAD_EVENT.COMPLETE,this)},t}(s),$=i;exports.LOAD_EVENT=void 0,(Q=exports.LOAD_EVENT||(exports.LOAD_EVENT={})).START="start",Q.PROGRESS="progress",Q.LOADED="loaded",Q.COMPLETE="complete",Q.ERROR="error",exports.RESOURCE_TYPE=void 0,(W=exports.RESOURCE_TYPE||(exports.RESOURCE_TYPE={})).IMAGE="IMAGE",W.SPRITE="SPRITE",W.SPRITE_ANIMATION="SPRITE_ANIMATION",W.DRAGONBONE="DRAGONBONE",W.SPINE="SPINE",W.AUDIO="AUDIO",W.VIDEO="VIDEO",n.XhrLoadStrategy.setExtensionXhrType("json",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("tex",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("ske",n.XhrResponseType.Json),n.XhrLoadStrategy.setExtensionXhrType("mp3",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("wav",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("aac",n.XhrResponseType.Buffer),n.XhrLoadStrategy.setExtensionXhrType("ogg",n.XhrResponseType.Buffer);var ee={png:n.ImageLoadStrategy,jpg:n.ImageLoadStrategy,jpeg:n.ImageLoadStrategy,webp:n.ImageLoadStrategy,json:n.XhrLoadStrategy,tex:n.XhrLoadStrategy,ske:n.XhrLoadStrategy,audio:n.XhrLoadStrategy,video:n.VideoLoadStrategy},te=new(function(e){function t(t){var r=e.call(this)||this;return r.timeout=6e3,r.preProcessResourceHandlers=[],r.resourcesMap={},r.makeInstanceFunctions={},r.destroyInstanceFunctions={},r.promiseMap={},r.loaders=[],t&&"number"==typeof t.timeout&&(r.timeout=t.timeout),r}return u(t,e),t.prototype.loadConfig=function(e){this.addResource(e),this.preload()},t.prototype.loadSingle=function(e){return this.addResource([e]),this.getResource(e.name)},t.prototype.addResource=function(e){var t,r;if(!e||e.length<1)console.warn("no resources");else try{for(var n=f(e),o=n.next();!o.done;o=n.next()){var a=o.value;this.resourcesMap[a.name]?console.warn(a.name+" was already added"):(this.resourcesMap[a.name]=a,this.resourcesMap[a.name].data={})}}catch(e){t={error:e}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(t)throw t.error}}},t.prototype.addPreProcessResourceHandler=function(e){this.preProcessResourceHandlers.push(e)},t.prototype.removePreProcessResourceHandler=function(e){this.preProcessResourceHandlers.splice(this.preProcessResourceHandlers.indexOf(e),1)},t.prototype.preload=function(){var e=[];for(var t in this.resourcesMap){var r=this.resourcesMap[t];r.preload&&!r.complete&&e.push(r.name)}this.progress=new Z({resource:this,resourceTotal:e.length}),this.loadResource({names:e,preload:!0})},t.prototype.getResource=function(e){return p(this,void 0,void 0,(function(){return h(this,(function(t){return this.loadResource({names:[e]}),[2,this.promiseMap[e]||Promise.resolve({})]}))}))},t.prototype.instance=function(e){return p(this,void 0,void 0,(function(){var t,r;return h(this,(function(n){switch(n.label){case 0:return t=this.resourcesMap[e],(r=this.makeInstanceFunctions[t.type])?[4,this.makeInstanceFunctions[t.type](t)]:[3,2];case 1:r=n.sent(),n.label=2;case 2:return[2,r]}}))}))},t.prototype.destroy=function(e){return p(this,void 0,void 0,(function(){return h(this,(function(t){switch(t.label){case 0:return[4,this._destroy(e)];case 1:return t.sent(),[2]}}))}))},t.prototype._destroy=function(e,t){return void 0===t&&(t=!1),p(this,void 0,void 0,(function(){var r,n;return h(this,(function(o){switch(o.label){case 0:if(!(r=this.resourcesMap[e]))return[2];if(t)return[3,5];o.label=1;case 1:return o.trys.push([1,4,,5]),this.destroyInstanceFunctions[r.type]?[4,this.destroyInstanceFunctions[r.type](r)]:[3,3];case 2:o.sent(),o.label=3;case 3:return[3,5];case 4:return n=o.sent(),console.warn("destroy resource "+r.name+" error with '"+n.message+"'"),[3,5];case 5:return delete this.promiseMap[e],r.data={},r.complete=!1,r.instance=void 0,[2]}}))}))},t.prototype.registerInstance=function(e,t){this.makeInstanceFunctions[e]=t},t.prototype.registerDestroy=function(e,t){this.destroyInstanceFunctions[e]=t},t.prototype.loadResource=function(e){var t=this,r=e.names,n=void 0===r?[]:r,o=e.preload,a=void 0!==o&&o,s=n.filter((function(e){return!t.promiseMap[e]&&t.resourcesMap[e]}));if(s.length){var i={},c=this.getLoader(a);s.forEach((function(e){var r,n;t.promiseMap[e]=new Promise((function(t){return i[e]=t}));var o=t.resourcesMap[e];try{for(var s=f(t.preProcessResourceHandlers),u=s.next();!u.done;u=s.next()){(0,u.value)(o)}}catch(e){r={error:e}}finally{try{u&&!u.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}for(var l in o.src){var p=o.src[l].type;"data"===p?(o.data[l]=o.src[l].data,t.doComplete(e,i[e],a)):c.add({url:o.src[l].url,name:o.name+"_"+l,strategy:ee[p],metadata:{key:l,name:o.name,resolves:i}})}})),c.load()}},t.prototype.doComplete=function(e,t,r){return void 0===r&&(r=!1),p(this,void 0,void 0,(function(){var n,o,a,s;return h(this,(function(i){switch(i.label){case 0:if(n=this.resourcesMap[e],o={name:e,resource:this.resourcesMap[e],success:!0},!this.checkAllLoaded(e))return[3,4];i.label=1;case 1:return i.trys.push([1,3,,4]),a=n,[4,this.instance(e)];case 2:return a.instance=i.sent(),n.complete=!0,r&&this.progress.onProgress(o),t(n),[3,4];case 3:return s=i.sent(),n.complete=!1,r&&(o.errMsg=s.message,o.success=!1,this.progress.onProgress(o)),t({}),[3,4];case 4:return[2]}}))}))},t.prototype.checkAllLoaded=function(e){var t=this.resourcesMap[e];return Array.from(Object.keys(t.src)).every((function(e){return t.data[e]}))},t.prototype.getLoader=function(e){var t=this;void 0===e&&(e=!1);var r=this.loaders.find((function(e){return!e.loading}));return r||(r=new n.Loader,this.loaders.push(r)),e&&r.onStart.once((function(){t.progress.onStart()})),r.onLoad.add((function(r,n){t.onLoad({preload:e,resource:n})})),r.onError.add((function(r,n,o){t.onError({errMsg:r,resource:o,preload:e})})),r.onComplete.once((function(){r.onLoad.detachAll(),r.onError.detachAll(),r.reset()})),r},t.prototype.onLoad=function(e){var t=e.preload,r=void 0!==t&&t,n=e.resource;return p(this,void 0,void 0,(function(){var e,t,o,a,s;return h(this,(function(i){return e=n.metadata,t=e.key,o=e.name,a=e.resolves,s=n.data,this.resourcesMap[o].data[t]=s,this.doComplete(o,a[o],r),[2]}))}))},t.prototype.onError=function(e){var t=e.errMsg,r=e.preload,n=void 0!==r&&r,o=e.resource;return p(this,void 0,void 0,(function(){var e,r,a,s;return h(this,(function(i){return e=o.metadata,r=e.name,a=e.resolves,this._destroy(r,!0),a[r]({}),n&&(s={name:r,resource:this.resourcesMap[r],success:!1,errMsg:t},this.progress.onProgress(s)),[2]}))}))},t}(s)),re={IDEProp:J,componentObserver:K};console.log("Eva.js version: 1.2.0-alpha.0"),exports.Component=b,exports.Game=z,exports.GameObject=j,exports.IDEProp=J,exports.RESOURCE_TYPE_STRATEGY=ee,exports.Scene=Y,exports.System=N,exports.Transform=w,exports.componentObserver=K,exports.decorators=re,exports.resource=te,exports.resourceLoader=$,exports.version="1.2.0-alpha.0";

28

dist/eva.js.d.ts

@@ -0,4 +1,6 @@

import { AbstractLoadStrategy } from 'resource-loader';
import EE from 'eventemitter3';
import EventEmitter from 'eventemitter3';
import { Loader } from 'resource-loader';
import * as _resourceLoader from 'resource-loader';

@@ -188,2 +190,4 @@ export declare class Component<T extends ComponentParams = {}> extends EventEmitter {

declare type PreProcessResourceHandler = (res: ResourceBase) => void;
declare class Progress extends EE {

@@ -211,2 +215,3 @@ progress: number;

timeout: number;
private preProcessResourceHandlers;
private resourcesMap;

@@ -224,2 +229,4 @@ private makeInstanceFunctions;

addResource(resources: ResourceBase[]): void;
addPreProcessResourceHandler(handler: PreProcessResourceHandler): void;
removePreProcessResourceHandler(handler: PreProcessResourceHandler): void;
preload(): void;

@@ -252,2 +259,6 @@ getResource(name: string): Promise<ResourceStruct>;

export declare const RESOURCE_TYPE_STRATEGY: {
[type: string]: new (...args: any[]) => AbstractLoadStrategy;
};
export declare interface ResourceBase {

@@ -269,2 +280,4 @@ name: string;

export declare const resourceLoader: typeof _resourceLoader;
declare type ResourceProcessFn = (resource: ResourceStruct) => any;

@@ -299,2 +312,7 @@

declare interface Size2_2 {
width: number;
height: number;
}
declare interface SrcBase {

@@ -304,2 +322,4 @@ type: string;

data?: any;
size?: Size2_2;
texture?: TextureBase[] | TextureBase;
}

@@ -333,2 +353,8 @@

declare interface TextureBase {
type: string;
url: string;
size?: Size2_2;
}
declare class Ticker {

@@ -414,4 +440,4 @@ autoStart: boolean;

export declare const version = "1.1.11";
export declare const version = "1.2.0-alpha.0";
export { }
{
"name": "@eva/eva.js",
"version": "1.1.11",
"version": "1.2.0-alpha.0",
"description": "@eva/eva.js",

@@ -5,0 +5,0 @@ "main": "index.js",

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

Sorry, the diff of this file is too big to display

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc