@eva/eva.js 2.0.0-beta.0 → 2.0.0-beta.1

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.
Files changed (243) hide show
  1. package/dist/EVA.js +17 -1
  2. package/dist/EVA.min.js +1 -1
  3. package/dist/eva.js.cjs.js +16 -1
  4. package/dist/eva.js.cjs.prod.js +1 -1
  5. package/dist/eva.js.d.ts +453 -0
  6. package/dist/eva.js.esm.js +16 -1
  7. package/package.json +1 -1
  8. package/dist/packages/eva.js/lib/core/Component.d.ts +0 -35
  9. package/dist/packages/eva.js/lib/core/Component.d.ts.map +0 -1
  10. package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts +0 -22
  11. package/dist/packages/eva.js/lib/core/ComponentObserver.d.ts.map +0 -1
  12. package/dist/packages/eva.js/lib/core/GameObject.d.ts +0 -31
  13. package/dist/packages/eva.js/lib/core/GameObject.d.ts.map +0 -1
  14. package/dist/packages/eva.js/lib/core/System.d.ts +0 -30
  15. package/dist/packages/eva.js/lib/core/System.d.ts.map +0 -1
  16. package/dist/packages/eva.js/lib/core/Transform.d.ts +0 -51
  17. package/dist/packages/eva.js/lib/core/Transform.d.ts.map +0 -1
  18. package/dist/packages/eva.js/lib/core/observer.d.ts +0 -23
  19. package/dist/packages/eva.js/lib/core/observer.d.ts.map +0 -1
  20. package/dist/packages/eva.js/lib/decorators/ide.d.ts +0 -2
  21. package/dist/packages/eva.js/lib/decorators/ide.d.ts.map +0 -1
  22. package/dist/packages/eva.js/lib/decorators/system.d.ts +0 -11
  23. package/dist/packages/eva.js/lib/decorators/system.d.ts.map +0 -1
  24. package/dist/packages/eva.js/lib/game/Game.d.ts +0 -72
  25. package/dist/packages/eva.js/lib/game/Game.d.ts.map +0 -1
  26. package/dist/packages/eva.js/lib/game/Scene.d.ts +0 -12
  27. package/dist/packages/eva.js/lib/game/Scene.d.ts.map +0 -1
  28. package/dist/packages/eva.js/lib/game/Ticker.d.ts +0 -25
  29. package/dist/packages/eva.js/lib/game/Ticker.d.ts.map +0 -1
  30. package/dist/packages/eva.js/lib/index.d.ts +0 -26
  31. package/dist/packages/eva.js/lib/index.d.ts.map +0 -1
  32. package/dist/packages/eva.js/lib/loader/Progress.d.ts +0 -21
  33. package/dist/packages/eva.js/lib/loader/Progress.d.ts.map +0 -1
  34. package/dist/packages/eva.js/lib/loader/Resource.d.ts +0 -99
  35. package/dist/packages/eva.js/lib/loader/Resource.d.ts.map +0 -1
  36. package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts +0 -14
  37. package/dist/packages/eva.js/lib/loader/resourceLoader.d.ts.map +0 -1
  38. package/dist/packages/eva.js/lib/timeline/index.d.ts +0 -40
  39. package/dist/packages/eva.js/lib/timeline/index.d.ts.map +0 -1
  40. package/dist/packages/eva.js/lib/timeline/utils.d.ts +0 -2
  41. package/dist/packages/eva.js/lib/timeline/utils.d.ts.map +0 -1
  42. package/dist/packages/plugin-a11y/lib/A11y.d.ts +0 -26
  43. package/dist/packages/plugin-a11y/lib/A11y.d.ts.map +0 -1
  44. package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts +0 -54
  45. package/dist/packages/plugin-a11y/lib/A11ySystem.d.ts.map +0 -1
  46. package/dist/packages/plugin-a11y/lib/constant.d.ts +0 -34
  47. package/dist/packages/plugin-a11y/lib/constant.d.ts.map +0 -1
  48. package/dist/packages/plugin-a11y/lib/index.d.ts +0 -4
  49. package/dist/packages/plugin-a11y/lib/index.d.ts.map +0 -1
  50. package/dist/packages/plugin-a11y/lib/utils.d.ts +0 -6
  51. package/dist/packages/plugin-a11y/lib/utils.d.ts.map +0 -1
  52. package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts +0 -20
  53. package/dist/packages/plugin-evax/lib/EvaXComponent.d.ts.map +0 -1
  54. package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts +0 -33
  55. package/dist/packages/plugin-evax/lib/EvaXSystem.d.ts.map +0 -1
  56. package/dist/packages/plugin-evax/lib/index.d.ts +0 -10
  57. package/dist/packages/plugin-evax/lib/index.d.ts.map +0 -1
  58. package/dist/packages/plugin-evax/lib/utils.d.ts +0 -3
  59. package/dist/packages/plugin-evax/lib/utils.d.ts.map +0 -1
  60. package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts +0 -31
  61. package/dist/packages/plugin-matterjs/lib/BodiesFactory.d.ts.map +0 -1
  62. package/dist/packages/plugin-matterjs/lib/Physics.d.ts +0 -32
  63. package/dist/packages/plugin-matterjs/lib/Physics.d.ts.map +0 -1
  64. package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts +0 -35
  65. package/dist/packages/plugin-matterjs/lib/PhysicsEngine.d.ts.map +0 -1
  66. package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts +0 -32
  67. package/dist/packages/plugin-matterjs/lib/PhysicsSystem.d.ts.map +0 -1
  68. package/dist/packages/plugin-matterjs/lib/index.d.ts +0 -5
  69. package/dist/packages/plugin-matterjs/lib/index.d.ts.map +0 -1
  70. package/dist/packages/plugin-matterjs/lib/matter.d.ts +0 -3
  71. package/dist/packages/plugin-matterjs/lib/matter.d.ts.map +0 -1
  72. package/dist/packages/plugin-renderer/lib/Renderer.d.ts +0 -19
  73. package/dist/packages/plugin-renderer/lib/Renderer.d.ts.map +0 -1
  74. package/dist/packages/plugin-renderer/lib/System.d.ts +0 -40
  75. package/dist/packages/plugin-renderer/lib/System.d.ts.map +0 -1
  76. package/dist/packages/plugin-renderer/lib/Transform.d.ts +0 -28
  77. package/dist/packages/plugin-renderer/lib/Transform.d.ts.map +0 -1
  78. package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts +0 -20
  79. package/dist/packages/plugin-renderer/lib/compressedTexture/ability.d.ts.map +0 -1
  80. package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts +0 -2
  81. package/dist/packages/plugin-renderer/lib/compressedTexture/fix/loader.d.ts.map +0 -1
  82. package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts +0 -7
  83. package/dist/packages/plugin-renderer/lib/compressedTexture/index.d.ts.map +0 -1
  84. package/dist/packages/plugin-renderer/lib/index.d.ts +0 -8
  85. package/dist/packages/plugin-renderer/lib/index.d.ts.map +0 -1
  86. package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts +0 -18
  87. package/dist/packages/plugin-renderer/lib/manager/ContainerManager.d.ts.map +0 -1
  88. package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts +0 -17
  89. package/dist/packages/plugin-renderer/lib/manager/RendererManager.d.ts.map +0 -1
  90. package/dist/packages/plugin-renderer/lib/mixin.d.ts +0 -2
  91. package/dist/packages/plugin-renderer/lib/mixin.d.ts.map +0 -1
  92. package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts +0 -26
  93. package/dist/packages/plugin-renderer-dragonbone/lib/component.d.ts.map +0 -1
  94. package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts +0 -3
  95. package/dist/packages/plugin-renderer-dragonbone/lib/db.d.ts.map +0 -1
  96. package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts +0 -10
  97. package/dist/packages/plugin-renderer-dragonbone/lib/engine.d.ts.map +0 -1
  98. package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts +0 -4
  99. package/dist/packages/plugin-renderer-dragonbone/lib/index.d.ts.map +0 -1
  100. package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts +0 -24
  101. package/dist/packages/plugin-renderer-dragonbone/lib/system.d.ts.map +0 -1
  102. package/dist/packages/plugin-renderer-event/lib/component.d.ts +0 -52
  103. package/dist/packages/plugin-renderer-event/lib/component.d.ts.map +0 -1
  104. package/dist/packages/plugin-renderer-event/lib/index.d.ts +0 -5
  105. package/dist/packages/plugin-renderer-event/lib/index.d.ts.map +0 -1
  106. package/dist/packages/plugin-renderer-event/lib/system.d.ts +0 -19
  107. package/dist/packages/plugin-renderer-event/lib/system.d.ts.map +0 -1
  108. package/dist/packages/plugin-renderer-graphics/lib/component.d.ts +0 -8
  109. package/dist/packages/plugin-renderer-graphics/lib/component.d.ts.map +0 -1
  110. package/dist/packages/plugin-renderer-graphics/lib/index.d.ts +0 -4
  111. package/dist/packages/plugin-renderer-graphics/lib/index.d.ts.map +0 -1
  112. package/dist/packages/plugin-renderer-graphics/lib/system.d.ts +0 -12
  113. package/dist/packages/plugin-renderer-graphics/lib/system.d.ts.map +0 -1
  114. package/dist/packages/plugin-renderer-img/lib/component.d.ts +0 -10
  115. package/dist/packages/plugin-renderer-img/lib/component.d.ts.map +0 -1
  116. package/dist/packages/plugin-renderer-img/lib/index.d.ts +0 -4
  117. package/dist/packages/plugin-renderer-img/lib/index.d.ts.map +0 -1
  118. package/dist/packages/plugin-renderer-img/lib/system.d.ts +0 -18
  119. package/dist/packages/plugin-renderer-img/lib/system.d.ts.map +0 -1
  120. package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts +0 -27
  121. package/dist/packages/plugin-renderer-lottie/lib/Lottie.d.ts.map +0 -1
  122. package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts +0 -18
  123. package/dist/packages/plugin-renderer-lottie/lib/LottieSystem.d.ts.map +0 -1
  124. package/dist/packages/plugin-renderer-lottie/lib/index.d.ts +0 -3
  125. package/dist/packages/plugin-renderer-lottie/lib/index.d.ts.map +0 -1
  126. package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts +0 -180
  127. package/dist/packages/plugin-renderer-lottie/lib/lottie-pixi.d.ts.map +0 -1
  128. package/dist/packages/plugin-renderer-lottie/lib/types.d.ts +0 -18
  129. package/dist/packages/plugin-renderer-lottie/lib/types.d.ts.map +0 -1
  130. package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts +0 -2
  131. package/dist/packages/plugin-renderer-lottie/lib/utils.d.ts.map +0 -1
  132. package/dist/packages/plugin-renderer-mask/lib/component.d.ts +0 -33
  133. package/dist/packages/plugin-renderer-mask/lib/component.d.ts.map +0 -1
  134. package/dist/packages/plugin-renderer-mask/lib/index.d.ts +0 -4
  135. package/dist/packages/plugin-renderer-mask/lib/index.d.ts.map +0 -1
  136. package/dist/packages/plugin-renderer-mask/lib/system.d.ts +0 -31
  137. package/dist/packages/plugin-renderer-mask/lib/system.d.ts.map +0 -1
  138. package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts +0 -22
  139. package/dist/packages/plugin-renderer-nine-patch/lib/component.d.ts.map +0 -1
  140. package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts +0 -4
  141. package/dist/packages/plugin-renderer-nine-patch/lib/index.d.ts.map +0 -1
  142. package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts +0 -19
  143. package/dist/packages/plugin-renderer-nine-patch/lib/system.d.ts.map +0 -1
  144. package/dist/packages/plugin-renderer-render/lib/component.d.ts +0 -17
  145. package/dist/packages/plugin-renderer-render/lib/component.d.ts.map +0 -1
  146. package/dist/packages/plugin-renderer-render/lib/index.d.ts +0 -4
  147. package/dist/packages/plugin-renderer-render/lib/index.d.ts.map +0 -1
  148. package/dist/packages/plugin-renderer-render/lib/system.d.ts +0 -17
  149. package/dist/packages/plugin-renderer-render/lib/system.d.ts.map +0 -1
  150. package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts +0 -4
  151. package/dist/packages/plugin-renderer-spine/lib/Spine.d.ts.map +0 -1
  152. package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts +0 -5
  153. package/dist/packages/plugin-renderer-spine/lib/SpineSystem.d.ts.map +0 -1
  154. package/dist/packages/plugin-renderer-spine/lib/index.d.ts +0 -4
  155. package/dist/packages/plugin-renderer-spine/lib/index.d.ts.map +0 -1
  156. package/dist/packages/plugin-renderer-sprite/lib/component.d.ts +0 -12
  157. package/dist/packages/plugin-renderer-sprite/lib/component.d.ts.map +0 -1
  158. package/dist/packages/plugin-renderer-sprite/lib/index.d.ts +0 -4
  159. package/dist/packages/plugin-renderer-sprite/lib/index.d.ts.map +0 -1
  160. package/dist/packages/plugin-renderer-sprite/lib/system.d.ts +0 -17
  161. package/dist/packages/plugin-renderer-sprite/lib/system.d.ts.map +0 -1
  162. package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts +0 -31
  163. package/dist/packages/plugin-renderer-sprite-animation/lib/component.d.ts.map +0 -1
  164. package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts +0 -4
  165. package/dist/packages/plugin-renderer-sprite-animation/lib/index.d.ts.map +0 -1
  166. package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts +0 -31
  167. package/dist/packages/plugin-renderer-sprite-animation/lib/system.d.ts.map +0 -1
  168. package/dist/packages/plugin-renderer-test/lib/component.d.ts +0 -20
  169. package/dist/packages/plugin-renderer-test/lib/component.d.ts.map +0 -1
  170. package/dist/packages/plugin-renderer-test/lib/index.d.ts +0 -4
  171. package/dist/packages/plugin-renderer-test/lib/index.d.ts.map +0 -1
  172. package/dist/packages/plugin-renderer-test/lib/system.d.ts +0 -21
  173. package/dist/packages/plugin-renderer-test/lib/system.d.ts.map +0 -1
  174. package/dist/packages/plugin-renderer-test/lib/system2.d.ts +0 -12
  175. package/dist/packages/plugin-renderer-test/lib/system2.d.ts.map +0 -1
  176. package/dist/packages/plugin-renderer-text/lib/component.d.ts +0 -43
  177. package/dist/packages/plugin-renderer-text/lib/component.d.ts.map +0 -1
  178. package/dist/packages/plugin-renderer-text/lib/index.d.ts +0 -4
  179. package/dist/packages/plugin-renderer-text/lib/index.d.ts.map +0 -1
  180. package/dist/packages/plugin-renderer-text/lib/system.d.ts +0 -22
  181. package/dist/packages/plugin-renderer-text/lib/system.d.ts.map +0 -1
  182. package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts +0 -20
  183. package/dist/packages/plugin-renderer-tiling-sprite/lib/component.d.ts.map +0 -1
  184. package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts +0 -4
  185. package/dist/packages/plugin-renderer-tiling-sprite/lib/index.d.ts.map +0 -1
  186. package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts +0 -18
  187. package/dist/packages/plugin-renderer-tiling-sprite/lib/system.d.ts.map +0 -1
  188. package/dist/packages/plugin-sound/lib/Sound.d.ts +0 -44
  189. package/dist/packages/plugin-sound/lib/Sound.d.ts.map +0 -1
  190. package/dist/packages/plugin-sound/lib/SoundSystem.d.ts +0 -37
  191. package/dist/packages/plugin-sound/lib/SoundSystem.d.ts.map +0 -1
  192. package/dist/packages/plugin-sound/lib/index.d.ts +0 -3
  193. package/dist/packages/plugin-sound/lib/index.d.ts.map +0 -1
  194. package/dist/packages/plugin-stats/lib/Stats.d.ts +0 -19
  195. package/dist/packages/plugin-stats/lib/Stats.d.ts.map +0 -1
  196. package/dist/packages/plugin-stats/lib/StatsComponent.d.ts +0 -7
  197. package/dist/packages/plugin-stats/lib/StatsComponent.d.ts.map +0 -1
  198. package/dist/packages/plugin-stats/lib/StatsSystem.d.ts +0 -28
  199. package/dist/packages/plugin-stats/lib/StatsSystem.d.ts.map +0 -1
  200. package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts +0 -18
  201. package/dist/packages/plugin-stats/lib/hooks/BaseHooks.d.ts.map +0 -1
  202. package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts +0 -11
  203. package/dist/packages/plugin-stats/lib/hooks/GLHook.d.ts.map +0 -1
  204. package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts +0 -16
  205. package/dist/packages/plugin-stats/lib/hooks/TextureHook.d.ts.map +0 -1
  206. package/dist/packages/plugin-stats/lib/index.d.ts +0 -9
  207. package/dist/packages/plugin-stats/lib/index.d.ts.map +0 -1
  208. package/dist/packages/plugin-transition/lib/Animation.d.ts +0 -38
  209. package/dist/packages/plugin-transition/lib/Animation.d.ts.map +0 -1
  210. package/dist/packages/plugin-transition/lib/component.d.ts +0 -35
  211. package/dist/packages/plugin-transition/lib/component.d.ts.map +0 -1
  212. package/dist/packages/plugin-transition/lib/index.d.ts +0 -3
  213. package/dist/packages/plugin-transition/lib/index.d.ts.map +0 -1
  214. package/dist/packages/plugin-transition/lib/system.d.ts +0 -6
  215. package/dist/packages/plugin-transition/lib/system.d.ts.map +0 -1
  216. package/dist/packages/renderer-adapter/lib/Application.d.ts +0 -3
  217. package/dist/packages/renderer-adapter/lib/Application.d.ts.map +0 -1
  218. package/dist/packages/renderer-adapter/lib/Container.d.ts +0 -5
  219. package/dist/packages/renderer-adapter/lib/Container.d.ts.map +0 -1
  220. package/dist/packages/renderer-adapter/lib/Graphics.d.ts +0 -5
  221. package/dist/packages/renderer-adapter/lib/Graphics.d.ts.map +0 -1
  222. package/dist/packages/renderer-adapter/lib/NinePatch.d.ts +0 -5
  223. package/dist/packages/renderer-adapter/lib/NinePatch.d.ts.map +0 -1
  224. package/dist/packages/renderer-adapter/lib/Sprite.d.ts +0 -9
  225. package/dist/packages/renderer-adapter/lib/Sprite.d.ts.map +0 -1
  226. package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts +0 -14
  227. package/dist/packages/renderer-adapter/lib/SpriteAnimation.d.ts.map +0 -1
  228. package/dist/packages/renderer-adapter/lib/Text.d.ts +0 -6
  229. package/dist/packages/renderer-adapter/lib/Text.d.ts.map +0 -1
  230. package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts +0 -9
  231. package/dist/packages/renderer-adapter/lib/TilingSprite.d.ts.map +0 -1
  232. package/dist/packages/renderer-adapter/lib/index.d.ts +0 -9
  233. package/dist/packages/renderer-adapter/lib/index.d.ts.map +0 -1
  234. package/dist/packages/spine-base/lib/Spine.d.ts +0 -32
  235. package/dist/packages/spine-base/lib/Spine.d.ts.map +0 -1
  236. package/dist/packages/spine-base/lib/SpineData.d.ts +0 -5
  237. package/dist/packages/spine-base/lib/SpineData.d.ts.map +0 -1
  238. package/dist/packages/spine-base/lib/SpineSystem.d.ts +0 -20
  239. package/dist/packages/spine-base/lib/SpineSystem.d.ts.map +0 -1
  240. package/dist/packages/spine-base/lib/TexCache.d.ts +0 -10
  241. package/dist/packages/spine-base/lib/TexCache.d.ts.map +0 -1
  242. package/dist/packages/spine-base/lib/index.d.ts +0 -4
  243. package/dist/packages/spine-base/lib/index.d.ts.map +0 -1
package/dist/EVA.js CHANGED
@@ -4045,6 +4045,22 @@ var _EVA_IIFE_EVA = function (exports, pixi_js) {
4045
4045
  if (typeof url === 'string' && url.startsWith('//')) {
4046
4046
  url = "" + window.location.protocol + res.src[key].url;
4047
4047
  }
4048
+ if (key === 'atlas') {
4049
+ pixi_js.Assets.add({
4050
+ alias: url,
4051
+ src: url,
4052
+ data: {
4053
+ resolve: function () {
4054
+ return pixi_js.Assets.load(res.src['image'].url);
4055
+ }
4056
+ }
4057
+ });
4058
+ } else {
4059
+ pixi_js.Assets.add({
4060
+ alias: url,
4061
+ src: url
4062
+ });
4063
+ }
4048
4064
  pixi_js.Assets.load(url).then(function (data) {
4049
4065
  _this.onLoad({
4050
4066
  preload: preload,
@@ -4177,7 +4193,7 @@ var _EVA_IIFE_EVA = function (exports, pixi_js) {
4177
4193
  IDEProp: IDEProp,
4178
4194
  componentObserver: componentObserver
4179
4195
  };
4180
- var version = '2.0.0-beta.0';
4196
+ var version = '2.0.0-beta.1';
4181
4197
  console.log("Eva.js version: " + version);
4182
4198
  var RESOURCE_TYPE_STRATEGY = {};
4183
4199
  exports.Component = Component$1;
package/dist/EVA.min.js CHANGED
@@ -1 +1 @@
1
- function _extends(){return _extends=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},_extends.apply(null,arguments)}var _EVA_IIFE_EVA=function(t,e){"use strict";var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},r(t,e)};function n(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function o(t,e,r,n){var o,i=arguments.length,s=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,r,s):o(e,r))||s);return i>3&&s&&Object.defineProperty(e,r,s),s}function i(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(t){i(t)}}function a(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function s(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function a(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function u(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(c(arguments[e]));return t}var l=function(t){var e={exports:{}};return t(e,e.exports),e.exports}((function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function o(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function i(t,e,n,i,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new o(n,i||t,s),c=r?r+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new n:delete t._events[e]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,n,o=[];if(0===this._eventsCount)return o;for(n in t=this._events)e.call(t,n)&&o.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},a.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s},a.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},a.prototype.emit=function(t,e,n,o,i,s){var a=r?r+t:t;if(!this._events[a])return!1;var c,u,l=this._events[a],p=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),p){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,o),!0;case 5:return l.fn.call(l.context,e,n,o,i),!0;case 6:return l.fn.call(l.context,e,n,o,i,s),!0}for(u=1,c=new Array(p-1);u<p;u++)c[u-1]=arguments[u];l.fn.apply(l.context,c)}else{var h,f=l.length;for(u=0;u<f;u++)switch(l[u].once&&this.removeListener(t,l[u].fn,void 0,!0),p){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,e);break;case 3:l[u].fn.call(l[u].context,e,n);break;case 4:l[u].fn.call(l[u].context,e,n,o);break;default:if(!c)for(h=1,c=new Array(p-1);h<p;h++)c[h-1]=arguments[h];l[u].fn.apply(l[u].context,c)}}return!0},a.prototype.on=function(t,e,r){return i(this,t,e,r,!1)},a.prototype.once=function(t,e,r){return i(this,t,e,r,!0)},a.prototype.removeListener=function(t,e,n,o){var i=r?r+t:t;if(!this._events[i])return this;if(!e)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||n&&a.context!==n||s(this,i);else{for(var c=0,u=[],l=a.length;c<l;c++)(a[c].fn!==e||o&&!a[c].once||n&&a[c].context!==n)&&u.push(a[c]);u.length?this._events[i]=1===u.length?u[0]:u:s(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=r?r+t:t,this._events[e]&&s(this,e)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,t.exports=a})),p=l;var h=function(t){function e(e){var r=t.call(this)||this;return r.started=!1,r.name=r.constructor.componentName,r.__componentDefaultParams=e,r}return n(e,t),e}(p),f=h,d="object"==typeof global&&global&&global.Object===Object&&global,y="object"==typeof self&&self&&self.Object===Object&&self,m=d||y||Function("return this")(),v=m.Symbol,_=Object.prototype,b=_.hasOwnProperty,g=_.toString,w=v?v.toStringTag:void 0;var E=Object.prototype.toString;var O=v?v.toStringTag:void 0;function T(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":O&&O in Object(t)?function(t){var e=b.call(t,w),r=t[w];try{t[w]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(e?t[w]=r:delete t[w]),o}(t):function(t){return E.call(t)}(t)}function x(t){return null!=t&&"object"==typeof t}var j=Array.isArray;function k(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function A(t){if(!k(t))return!1;var e=T(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var R,P=m["__core-js_shared__"],S=(R=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"";var C=Function.prototype.toString;function L(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var M=/^\[object .+?Constructor\]$/,D=Function.prototype,I=Object.prototype,N=D.toString,B=I.hasOwnProperty,V=RegExp("^"+N.call(B).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function U(t){return!(!k(t)||(e=t,S&&S in e))&&(A(t)?V:M).test(L(t));var e}function q(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return U(r)?r:void 0}var F=q(m,"WeakMap"),z=/^(?:0|[1-9]\d*)$/;function G(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&z.test(t))&&t>-1&&t%1==0&&t<e}function Y(t,e){return t===e||t!=t&&e!=e}function H(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var X=Object.prototype;function J(t){return x(t)&&"[object Arguments]"==T(t)}var $=Object.prototype,Q=$.hasOwnProperty,W=$.propertyIsEnumerable,K=J(function(){return arguments}())?J:function(t){return x(t)&&Q.call(t,"callee")&&!W.call(t,"callee")},Z=K;var tt="object"==typeof t&&t&&!t.nodeType&&t,et=tt&&"object"==typeof module&&module&&!module.nodeType&&module,rt=et&&et.exports===tt?m.Buffer:void 0,nt=(rt?rt.isBuffer:void 0)||function(){return!1},ot={};ot["[object Float32Array]"]=ot["[object Float64Array]"]=ot["[object Int8Array]"]=ot["[object Int16Array]"]=ot["[object Int32Array]"]=ot["[object Uint8Array]"]=ot["[object Uint8ClampedArray]"]=ot["[object Uint16Array]"]=ot["[object Uint32Array]"]=!0,ot["[object Arguments]"]=ot["[object Array]"]=ot["[object ArrayBuffer]"]=ot["[object Boolean]"]=ot["[object DataView]"]=ot["[object Date]"]=ot["[object Error]"]=ot["[object Function]"]=ot["[object Map]"]=ot["[object Number]"]=ot["[object Object]"]=ot["[object RegExp]"]=ot["[object Set]"]=ot["[object String]"]=ot["[object WeakMap]"]=!1;var it,st="object"==typeof t&&t&&!t.nodeType&&t,at=st&&"object"==typeof module&&module&&!module.nodeType&&module,ct=at&&at.exports===st&&d.process,ut=function(){try{var t=at&&at.require&&at.require("util").types;return t||ct&&ct.binding&&ct.binding("util")}catch(t){}}(),lt=ut&&ut.isTypedArray,pt=lt?(it=lt,function(t){return it(t)}):function(t){return x(t)&&H(t.length)&&!!ot[T(t)]},ht=Object.prototype.hasOwnProperty;function ft(t,e){var r=j(t),n=!r&&Z(t),o=!r&&!n&&nt(t),i=!r&&!n&&!o&&pt(t),s=r||n||o||i,a=s?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],c=a.length;for(var u in t)!e&&!ht.call(t,u)||s&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||G(u,c))||a.push(u);return a}var dt=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),yt=dt,mt=Object.prototype.hasOwnProperty;function vt(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||X))return yt(t);var e,r,n=[];for(var o in Object(t))mt.call(t,o)&&"constructor"!=o&&n.push(o);return n}function _t(t){return null!=(e=t)&&H(e.length)&&!A(e)?ft(t):vt(t);var e}var bt=q(Object,"create");var gt=Object.prototype.hasOwnProperty;var wt=Object.prototype.hasOwnProperty;function Et(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ot(t,e){for(var r=t.length;r--;)if(Y(t[r][0],e))return r;return-1}Et.prototype.clear=function(){this.__data__=bt?bt(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(bt){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return gt.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:wt.call(e,t)},Et.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=bt&&void 0===e?"__lodash_hash_undefined__":e,this};var Tt=Array.prototype.splice;function xt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}xt.prototype.clear=function(){this.__data__=[],this.size=0},xt.prototype.delete=function(t){var e=this.__data__,r=Ot(e,t);return!(r<0)&&(r==e.length-1?e.pop():Tt.call(e,r,1),--this.size,!0)},xt.prototype.get=function(t){var e=this.__data__,r=Ot(e,t);return r<0?void 0:e[r][1]},xt.prototype.has=function(t){return Ot(this.__data__,t)>-1},xt.prototype.set=function(t,e){var r=this.__data__,n=Ot(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var jt=q(m,"Map");function kt(t,e){var r=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?r["string"==typeof e?"string":"hash"]:r.map}function At(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}At.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(jt||xt),string:new Et}},At.prototype.delete=function(t){var e=kt(this,t).delete(t);return this.size-=e?1:0,e},At.prototype.get=function(t){return kt(this,t).get(t)},At.prototype.has=function(t){return kt(this,t).has(t)},At.prototype.set=function(t,e){var r=kt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Rt(t){var e=this.__data__=new xt(t);this.size=e.size}Rt.prototype.clear=function(){this.__data__=new xt,this.size=0},Rt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Rt.prototype.get=function(t){return this.__data__.get(t)},Rt.prototype.has=function(t){return this.__data__.has(t)},Rt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof xt){var n=r.__data__;if(!jt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new At(n)}return r.set(t,e),this.size=r.size,this};var Pt=Object.prototype.propertyIsEnumerable,St=Object.getOwnPropertySymbols,Ct=St?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var s=t[r];e(s,r,t)&&(i[o++]=s)}return i}(St(t),(function(e){return Pt.call(t,e)})))}:function(){return[]};function Lt(t){return function(t,e,r){var n=e(t);return j(t)?n:function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}(n,r(t))}(t,_t,Ct)}var Mt=q(m,"DataView"),Dt=q(m,"Promise"),It=q(m,"Set"),Nt="[object Map]",Bt="[object Promise]",Vt="[object Set]",Ut="[object WeakMap]",qt="[object DataView]",Ft=L(Mt),zt=L(jt),Gt=L(Dt),Yt=L(It),Ht=L(F),Xt=T;(Mt&&Xt(new Mt(new ArrayBuffer(1)))!=qt||jt&&Xt(new jt)!=Nt||Dt&&Xt(Dt.resolve())!=Bt||It&&Xt(new It)!=Vt||F&&Xt(new F)!=Ut)&&(Xt=function(t){var e=T(t),r="[object Object]"==e?t.constructor:void 0,n=r?L(r):"";if(n)switch(n){case Ft:return qt;case zt:return Nt;case Gt:return Bt;case Yt:return Vt;case Ht:return Ut}return e});var Jt=Xt,$t=m.Uint8Array;function Qt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new At;++e<r;)this.add(t[e])}function Wt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}Qt.prototype.add=Qt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Qt.prototype.has=function(t){return this.__data__.has(t)};function Kt(t,e,r,n,o,i){var s=1&r,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var u=i.get(t),l=i.get(e);if(u&&l)return u==e&&l==t;var p=-1,h=!0,f=2&r?new Qt:void 0;for(i.set(t,e),i.set(e,t);++p<a;){var d=t[p],y=e[p];if(n)var m=s?n(y,d,p,e,t,i):n(d,y,p,t,e,i);if(void 0!==m){if(m)continue;h=!1;break}if(f){if(!Wt(e,(function(t,e){if(s=e,!f.has(s)&&(d===t||o(d,t,r,n,i)))return f.push(e);var s}))){h=!1;break}}else if(d!==y&&!o(d,y,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h}function Zt(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function te(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var ee=v?v.prototype:void 0,re=ee?ee.valueOf:void 0;var ne=Object.prototype.hasOwnProperty;var oe,ie="[object Arguments]",se="[object Array]",ae="[object Object]",ce=Object.prototype.hasOwnProperty;function ue(t,e,r,n,o,i){var s=j(t),a=j(e),c=s?se:Jt(t),u=a?se:Jt(e),l=(c=c==ie?ae:c)==ae,p=(u=u==ie?ae:u)==ae,h=c==u;if(h&&nt(t)){if(!nt(e))return!1;s=!0,l=!1}if(h&&!l)return i||(i=new Rt),s||pt(t)?Kt(t,e,r,n,o,i):function(t,e,r,n,o,i,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new $t(t),new $t(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Y(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=Zt;case"[object Set]":var c=1&n;if(a||(a=te),t.size!=e.size&&!c)return!1;var u=s.get(t);if(u)return u==e;n|=2,s.set(t,e);var l=Kt(a(t),a(e),n,o,i,s);return s.delete(t),l;case"[object Symbol]":if(re)return re.call(t)==re.call(e)}return!1}(t,e,c,r,n,o,i);if(!(1&r)){var f=l&&ce.call(t,"__wrapped__"),d=p&&ce.call(e,"__wrapped__");if(f||d){var y=f?t.value():t,m=d?e.value():e;return i||(i=new Rt),o(y,m,r,n,i)}}return!!h&&(i||(i=new Rt),function(t,e,r,n,o,i){var s=1&r,a=Lt(t),c=a.length;if(c!=Lt(e).length&&!s)return!1;for(var u=c;u--;){var l=a[u];if(!(s?l in e:ne.call(e,l)))return!1}var p=i.get(t),h=i.get(e);if(p&&h)return p==e&&h==t;var f=!0;i.set(t,e),i.set(e,t);for(var d=s;++u<c;){var y=t[l=a[u]],m=e[l];if(n)var v=s?n(m,y,l,e,t,i):n(y,m,l,t,e,i);if(!(void 0===v?y===m||o(y,m,r,n,i):v)){f=!1;break}d||(d="constructor"==l)}if(f&&!d){var _=t.constructor,b=e.constructor;_==b||!("constructor"in t)||!("constructor"in e)||"function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b||(f=!1)}return i.delete(t),i.delete(e),f}(t,e,r,n,o,i))}function le(t,e,r,n,o){return t===e||(null==t||null==e||!x(t)&&!x(e)?t!=t&&e!=e:ue(t,e,r,n,le,o))}function pe(t,e){return le(t,e)}t.OBSERVER_TYPE=void 0,(oe=t.OBSERVER_TYPE||(t.OBSERVER_TYPE={})).ADD="ADD",oe.REMOVE="REMOVE",oe.CHANGE="CHANGE";var he={},fe={},de={},ye={};function me(t,e){he[t.gameObject.id]||(he[t.gameObject.id]={});var r=he[t.gameObject.id],n=t.name+"_"+e.join(",");if(r[n])return r[n];for(var o=e.length-1,i=t,s=0;s<o;s++)i=i[e[s]];return r[n]={property:i,key:e[o]},r[n]}function ve(t){var e,r,n=t.systemName,o=t.componentName,i=t.component,s=t.prop,a=t.type;null===(r=null===(e=fe[n])||void 0===e?void 0:e.componentObserver)||void 0===r||r.add({component:i,prop:s,type:a,componentName:o})}function _e(e){var r,n,o=e.obj,i=e.key,s=e.prop,c=e.component,u=e.componentName;if(void 0!==o)if(i in o){if(Object.defineProperty(o,"_"+i,{enumerable:!1,writable:!0,value:o[i]}),s.deep&&k(o[i]))try{for(var l=a(Object.keys(o[i])),p=l.next();!p.done;p=l.next()){var h=p.value;_e({obj:o[i],key:h,prop:s,component:c,componentName:u})}}catch(t){r={error:t}}finally{try{p&&!p.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}Object.defineProperty(o,i,{enumerable:!0,set:function(e){o["_"+i]!==e&&(o["_"+i]=e,function(e){var r=e.prop,n=e.component,o=e.componentName;for(var i in de){var s=(de[i]||{})[o];s&&s.findIndex((function(t){return pe(t,r)}))>-1&&ve({systemName:i,componentName:o,component:n,prop:r,type:t.OBSERVER_TYPE.CHANGE})}}({prop:s,component:c,componentName:u}))},get:function(){return o["_"+i]}})}else console.error("prop "+i+" not in component: "+u+", Can not observer")}function be(e,r){var n,o;for(var i in void 0===r&&(r=e.name),de){(de[i]||{})[r]&&(null===(o=null===(n=fe[i])||void 0===n?void 0:n.componentObserver)||void 0===o||o.add({component:e,type:t.OBSERVER_TYPE.REMOVE,componentName:r}))}!function(t){t.gameObject&&delete he[t.gameObject.id]}(e)}function ge(t,e){return t.constructor.IDEProps||(t.constructor.IDEProps={}),t.constructor.IDEProps[e]||(t.constructor.IDEProps[e]={}),t.constructor.IDEProps[e]}function we(t){return function(e,r){var n=ge(e,r);n.key=r,n.type=t}}function Ee(t){return function(e,r){ge(e,r).step=t}}var Oe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="Transform",e._parent=null,e.inScene=!1,e.children=[],e.position={x:0,y:0},e.size={width:0,height:0},e.origin={x:0,y:0},e.anchor={x:0,y:0},e.scale={x:1,y:1},e.skew={x:0,y:0},e.rotation=0,e}return n(e,t),e.prototype.init=function(t){var e,r;void 0===t&&(t={});try{for(var n=a(["position","size","origin","anchor","scale","skew"]),o=n.next();!o.done;o=n.next()){var i=o.value;_extends(this[i],t[i])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}this.rotation=t.rotation||this.rotation},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},set:function(t){t?t.addChild(this):this.parent&&this.parent.removeChild(this)},enumerable:!1,configurable:!0}),e.prototype.addChild=function(t){if(t.parent===this){var e=this.children.findIndex((function(e){return e===t}));this.children.splice(e,1)}else t.parent&&t.parent.removeChild(t);t._parent=this,this.children.push(t)},e.prototype.removeChild=function(t){var e=this.children.findIndex((function(e){return e===t}));e>-1&&(this.children.splice(e,1),t._parent=null)},e.prototype.clearChildren=function(){this.children.length=0},e.componentName="Transform",o([we("vector2"),Ee(1)],e.prototype,"position",void 0),o([we("size"),Ee(1)],e.prototype,"size",void 0),o([we("vector2"),Ee(.1)],e.prototype,"origin",void 0),o([we("vector2"),Ee(.1)],e.prototype,"anchor",void 0),o([we("vector2"),Ee(.1)],e.prototype,"scale",void 0),o([we("vector2"),Ee(.1)],e.prototype,"skew",void 0),o([we("number"),Ee(.1)],e.prototype,"rotation",void 0),e}(f),Te=Oe,xe=0;var je=function(){function e(t,e){this._componentCache={},this.components=[],this.destroyed=!1,this._name=t,this.id=++xe,this.addComponent(Te,e)}return Object.defineProperty(e.prototype,"transform",{get:function(){return this.getComponent(Te)},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(t){var e,r;if(this._scene!==t){var n=this._scene;if(this._scene=t,this.transform&&this.transform.children)try{for(var o=a(this.transform.children),i=o.next();!i.done;i=o.next()){i.value.gameObject.scene=t}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}t?t.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,r){if(!this.destroyed){var n=function(t){return t instanceof h?t.name:t instanceof Function?t.componentName:void 0}(e);if(!this._componentCache[n]){var o;if(e instanceof Function)o=new e(r);else{if(!(e instanceof f))throw new Error("addComponent recieve Component and Component Constructor");o=e}if(o.gameObject)throw new Error("component has been added on gameObject "+o.gameObject.name);return o.gameObject=this,o.init&&o.init(o.__componentDefaultParams),function(e,r){var n,o;for(var i in void 0===r&&(r=e.name),de)(de[i]||{})[r]&&(null===(o=null===(n=fe[i])||void 0===n?void 0:n.componentObserver)||void 0===o||o.add({component:e,type:t.OBSERVER_TYPE.ADD,componentName:r}))}(o,o.name),function(t,e){var r,n;if(void 0===e&&(e=t.name),e&&ye[e]){if(!(t&&(o=t,o&&o.constructor&&"componentName"in o.constructor)))throw new Error("component param must be an instance of Component");var o;if(!t.gameObject||!t.gameObject.id)throw new Error("component should be add to a gameObject");try{for(var i=a(ye[e]),s=i.next();!s.done;s=i.next()){var c=s.value,u=me(t,c.prop);_e({obj:u.property,key:u.key,prop:c,component:t,componentName:e})}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}}(o,o.name),this.components.push(o),this._componentCache[n]=o,o.awake&&o.awake(),o}}},e.prototype.removeComponent=function(t){var e;if("string"==typeof t?e=t:t instanceof f?e=t.name:t.componentName&&(e=t.componentName),"Transform"===e)throw new Error("Transform can't be removed");return this._removeComponent(e)},e.prototype._removeComponent=function(t){var e=this.components.findIndex((function(e){return e.name===t}));if(-1!==e){var r=this.components.splice(e,1)[0];return delete this._componentCache[t],delete r.__componentDefaultParams,r.onDestroy&&r.onDestroy(),be(r,t),r.gameObject=void 0,r}},e.prototype.getComponent=function(t){var e;return"string"==typeof t?e=t:t instanceof f?e=t.name:t.componentName&&(e=t.componentName),void 0!==this._componentCache[e]?this._componentCache[e]:void 0},e.prototype.remove=function(){if(this.parent)return this.parent.removeChild(this)},e.prototype.destroy=function(){if(this.transform){for(var t in Array.from(this.transform.children).forEach((function(t){t.gameObject.destroy()})),this.remove(),this.transform.clearChildren(),this._componentCache)this._removeComponent(t);this.components.length=0,this.destroyed=!0}else console.error("Cannot destroy gameObject that have already been destroyed.")},e}(),ke=function(){function e(){this.events=[]}return e.prototype.add=function(e){var r=e.component,n=e.prop,o=e.type,i=e.componentName;if(o===t.OBSERVER_TYPE.REMOVE){if(this.events.find((function(e){return e.component===r&&e.type===t.OBSERVER_TYPE.ADD})))return void(this.events=this.events.filter((function(t){return t.component!==r})));this.events=this.events.filter((function(t){return t.component!==r}))}var s=this.events.findIndex((function(t){return t.component===r&&pe(t.prop,n)&&t.type===o}));s>-1&&this.events.splice(s,1),this.events.push({gameObject:r.gameObject,component:r,prop:n,type:o,componentName:i})},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 t=this.events;return this.events=[],t},e}(),Ae=ke,Re=function(){function t(t){this.started=!1,this.componentObserver=new Ae,this.__systemDefaultParams=t,this.name=this.constructor.systemName}return t.prototype.destroy=function(){var t;this.componentObserver=null,this.__systemDefaultParams=null,null===(t=this.onDestroy)||void 0===t||t.call(this)},t}();var Pe,Se=Date.now?Date.now:function(){return(new Date).getTime()},Ce={originTime:0,playbackRate:1},Le=function(){function t(e,r){e instanceof t&&(r=e,e={}),e=_extends({},Ce,e),r&&(this._parent=r),this._createTime=Se(),this._timeMark=[{globalTime:this.globalTime,localTime:-e.originTime,entropy:-e.originTime,playbackRate:e.playbackRate,globalEntropy:0}],this._parent&&(this._timeMark[0].globalEntropy=this._parent.entropy),this._playbackRate=e.playbackRate}return Object.defineProperty(t.prototype,"globalTime",{get:function(){return this.parent?this.parent.currentTime:Se()-this._createTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastTimeMark",{get:function(){return this._timeMark[this._timeMark.length-1]},enumerable:!1,configurable:!0}),t.prototype.markTime=function(t){var e=void 0===t?{}:t,r=e.time,n=void 0===r?this.currentTime:r,o=e.entropy,i=void 0===o?this.entropy:o,s=e.playbackRate,a=void 0===s?this.playbackRate:s,c={globalTime:this.globalTime,localTime:n,entropy:i,playbackRate:a,globalEntropy:this.globalEntropy};this._timeMark.push(c)},Object.defineProperty(t.prototype,"currentTime",{get:function(){var t=this.lastTimeMark,e=t.localTime,r=t.globalTime;return e+(this.globalTime-r)*this.playbackRate},set:function(t){this.markTime({time:t})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"globalEntropy",{get:function(){return this._parent?this._parent.entropy:this.globalTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"entropy",{get:function(){var t=this.lastTimeMark,e=t.entropy,r=t.globalEntropy;return e+Math.abs((this.globalEntropy-r)*this.playbackRate)},set:function(t){if(this.entropy>t){var e=this.seekTimeMark(t);this._timeMark.length=e+1}this.markTime({entropy:t})},enumerable:!1,configurable:!0}),t.prototype.fork=function(e){return new t(e,this)},t.prototype.seekGlobalTime=function(t){var e=this.seekTimeMark(t),r=this._timeMark[e],n=r.entropy,o=r.playbackRate;return r.globalTime+(t-n)/Math.abs(o)},t.prototype.seekLocalTime=function(t){var e=this.seekTimeMark(t),r=this._timeMark[e],n=r.localTime,o=r.entropy;return r.playbackRate>0?n+(t-o):n-(t-o)},t.prototype.seekTimeMark=function(t){var e=this._timeMark,r=0,n=e.length-1;if(t<=e[r].entropy)return r;if(t>=e[n].entropy)return n;for(var o=Math.floor((r+n)/2);o>r&&o<n;){if(t===e[o].entropy)return o;t<e[o].entropy?n=o:t>e[o].entropy&&(r=o),o=Math.floor((r+n)/2)}return r},Object.defineProperty(t.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){t!==this.playbackRate&&(this.markTime({playbackRate:t}),this._playbackRate=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"paused",{get:function(){if(0===this.playbackRate)return!0;for(var t=this.parent;t;){if(0===t.playbackRate)return!0;t=t.parent}return!1},enumerable:!1,configurable:!0}),t}(),Me={autoStart:!0,frameRate:60},De=function(){function t(t){var e=this;t=_extends({},Me,t),this._frameCount=0,this._frameDuration=1e3/t.frameRate,this.autoStart=t.autoStart,this.frameRate=t.frameRate,this.timeline=new Le({originTime:0,playbackRate:1}),this._lastFrameTime=this.timeline.currentTime,this._tickers=new Set,this._requestId=null,this._ticker=function(){e._started&&(e._requestId=requestAnimationFrame(e._ticker),e.update())},this.autoStart&&this.start()}return t.prototype.update=function(){var t,e,r=this.timeline.currentTime,n=r-this._lastFrameTime;if(n>=this._frameDuration){var o=r-n%this._frameDuration,i=o-this._lastFrameTime;this._lastFrameTime=o;var s={deltaTime:i,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/i)};try{for(var c=a(this._tickers),u=c.next();!u.done;u=c.next()){var l=u.value;"function"==typeof l&&l(s)}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=c.return)&&e.call(c)}finally{if(t)throw t.error}}}},t.prototype.add=function(t){this._tickers.add(t)},t.prototype.remove=function(t){this._tickers.delete(t)},t.prototype.start=function(){this._started||(this._started=!0,this.timeline.playbackRate=1,this._requestId=requestAnimationFrame(this._ticker))},t.prototype.pause=function(){this._started=!1,this.timeline.playbackRate=0},t.prototype.setPlaybackRate=function(t){this.timeline.playbackRate=t},t}(),Ie=De,Ne=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.gameObjects=[],n.scene=n,n}return n(e,t),e.prototype.addGameObject=function(t){this.gameObjects.push(t),t.transform&&(t.transform.inScene=!0)},e.prototype.removeGameObject=function(t){var e=this.gameObjects.indexOf(t);-1!==e&&(t.transform&&(t.transform.inScene=!1),this.gameObjects.splice(e,1))},e.prototype.destroy=function(){this.scene=null,t.prototype.destroy.call(this),this.gameObjects=null,this.canvas=null},e}(je);t.LOAD_SCENE_MODE=void 0,(Pe=t.LOAD_SCENE_MODE||(t.LOAD_SCENE_MODE={})).SINGLE="SINGLE",Pe.MULTI_CANVAS="MULTI_CANVAS";var Be=function(t){if((t instanceof Re||t instanceof f)&&!t.started){t.started=!0;try{t.start&&t.start()}catch(e){t instanceof f?console.error(t.constructor.componentName+" start error",e):console.error(t.constructor.systemName+" start error",e)}}},Ve=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.playing=!1,t.started=!1,t.multiScenes=[],t.systems=[],t}return n(r,e),r.prototype.init=function(t){var e=void 0===t?{}:t,r=e.systems,n=e.frameRate,o=void 0===n?60:n,c=e.autoStart,u=void 0===c||c,l=e.needScene,p=void 0===l||l;return i(this,void 0,void 0,(function(){var t,e,n,i,c,l;return s(this,(function(s){switch(s.label){case 0:if(window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=this),this.ticker=new Ie({autoStart:!1,frameRate:o}),this.initTicker(),!r||!r.length)return[3,8];s.label=1;case 1:s.trys.push([1,6,7,8]),t=a(r),e=t.next(),s.label=2;case 2:return e.done?[3,5]:(n=e.value,[4,this.addSystem(n)]);case 3:s.sent(),s.label=4;case 4:return e=t.next(),[3,2];case 5:return[3,8];case 6:return i=s.sent(),c={error:i},[3,8];case 7:try{e&&!e.done&&(l=t.return)&&l.call(t)}finally{if(c)throw c.error}return[7];case 8:return p&&this.loadScene(new Ne("scene")),u&&this.start(),[2]}}))}))},Object.defineProperty(r.prototype,"scene",{get:function(){return this._scene},set:function(t){this._scene=t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"gameObjects",{get:function(){return function(t){var e,r,n,o=(null===(n=null==t?void 0:t.scene)||void 0===n?void 0:n.gameObjects)||[],i=null==t?void 0:t.multiScenes.map((function(t){return t.gameObjects})),s=[];try{for(var c=a(i),l=c.next();!l.done;l=c.next())s=u(s,l.value)}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}return u(o,s)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(t,e){return i(this,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:if(t instanceof Function)r=new t(e);else{if(!(t instanceof Re))return console.warn("can only add System"),[2];r=t}return this.systems.find((function(t){return t.constructor===r.constructor}))?(console.warn(r.constructor.systemName+" System has been added"),[2]):(r.game=this,r.init?[4,r.init(r.__systemDefaultParams)]:[3,2]);case 1:n.sent(),n.label=2;case 2:!function(t,e){de[e.systemName]=e.observerInfo,fe[e.systemName]=t}(r,r.constructor),function(t){var e,r,n,o,i=[];t instanceof Array?i.push.apply(i,u(t)):i.push(t);try{for(var s=a(i),c=s.next();!c.done;c=s.next()){var l=c.value;for(var p in l.observerInfo){ye[p]=ye[p]||[];var h=ye[p],f=function(t){-1===h.findIndex((function(e){return pe(e,t)}))&&ye[p].push(t)};try{for(var d=(n=void 0,a(l.observerInfo[p])),y=d.next();!y.done;y=d.next())f(y.value)}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(r.constructor);try{r.awake&&r.awake()}catch(t){console.error(r.constructor.systemName+" awake error",t)}return this.systems.push(r),[2,r]}}))}))},r.prototype.removeSystem=function(t){if(t){var e=-1;"string"==typeof t?e=this.systems.findIndex((function(e){return e.name===t})):t instanceof Function?e=this.systems.findIndex((function(e){return e.constructor===t})):t instanceof Re&&(e=this.systems.findIndex((function(e){return e===t}))),e>-1&&(this.systems[e].destroy&&this.systems[e].destroy(),this.systems.splice(e,1))}},r.prototype.getSystem=function(t){return this.systems.find((function(e){return"string"==typeof t?e.name===t:e instanceof t}))},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 t=this;this.ticker.add((function(e){var r,n,o,i;t.scene&&function(t,e){var r,n,o,i,s,c,u,l;void 0===e&&(e=[]);try{for(var p=a(e),h=p.next();!h.done;h=p.next()){var f=h.value;try{for(var d=(o=void 0,a(f.components)),y=d.next();!y.done;y=d.next()){var m=y.value;try{Be(m),m.update&&m.update(t)}catch(t){console.error("gameObject: "+f.name+" "+m.name+" update error",t)}}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=d.return)&&i.call(d)}finally{if(o)throw o.error}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}try{for(var v=a(e),_=v.next();!_.done;_=v.next()){f=_.value;try{for(var b=(u=void 0,a(f.components)),g=b.next();!g.done;g=b.next()){m=g.value;try{m.lateUpdate&&m.lateUpdate(t)}catch(t){console.error("gameObject: "+f.name+" "+m.name+" lateUpdate error",t)}}}catch(t){u={error:t}}finally{try{g&&!g.done&&(l=b.return)&&l.call(b)}finally{if(u)throw u.error}}}}catch(t){s={error:t}}finally{try{_&&!_.done&&(c=v.return)&&c.call(v)}finally{if(s)throw s.error}}}(e,t.gameObjects);try{for(var s=a(t.systems),c=s.next();!c.done;c=s.next()){var u=c.value;try{Be(u),u.update&&u.update(e)}catch(e){console.error(u.constructor.systemName+" update error",e)}}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}try{for(var l=a(t.systems),p=l.next();!p.done;p=l.next()){u=p.value;try{u.lateUpdate&&u.lateUpdate(e)}catch(e){console.error(u.constructor.systemName+" lateUpdate error",e)}}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}}))},r.prototype.triggerResume=function(){var t,e;!function(t){var e,r,n,o;try{for(var i=a(t),s=i.next();!s.done;s=i.next()){var c=s.value;try{for(var u=(n=void 0,a(c.components)),l=u.next();!l.done;l=u.next()){var p=l.value;try{p.onResume&&p.onResume()}catch(t){console.error("gameObject: "+c.name+", "+p.name+", onResume error",t)}}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}(this.gameObjects);try{for(var r=a(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onResume&&o.onResume()}catch(t){console.error(o.constructor.systemName+", onResume error",t)}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},r.prototype.triggerPause=function(){var t,e;!function(t){var e,r,n,o;try{for(var i=a(t),s=i.next();!s.done;s=i.next()){var c=s.value;try{for(var u=(n=void 0,a(c.components)),l=u.next();!l.done;l=u.next()){var p=l.value;try{p.onPause&&p.onPause()}catch(t){console.error("gameObject: "+c.name+", "+p.name+", onResume error",t)}}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}(this.gameObjects);try{for(var r=a(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onPause&&o.onPause()}catch(t){console.error(o.constructor.systemName+", onPause error",t)}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},r.prototype.destroySystems=function(){var t,e;try{for(var r=a(u(this.systems)),n=r.next();!n.done;n=r.next()){var o=n.value;this.removeSystem(o)}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.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 r=e.scene,n=e.mode,o=void 0===n?t.LOAD_SCENE_MODE.SINGLE:n,i=e.params,s=void 0===i?{}:i;if(r){switch(o){case t.LOAD_SCENE_MODE.SINGLE:this.scene=r;break;case t.LOAD_SCENE_MODE.MULTI_CANVAS:this.multiScenes.push(r)}this.emit("sceneChanged",{scene:r,mode:o,params:s})}},r}(p),Ue=Ve;function qe(t,e){t.constructor.IDEProps||(t.constructor.IDEProps=[]),t.constructor.IDEProps.push(e)}function Fe(t){return void 0===t&&(t={}),function(e){if(!e.observerInfo){for(var r in t)for(var n in t[r]){"string"==typeof t[r][n]&&(t[r][n]=[t[r][n]]);var o=void 0;Array.isArray(t[r][n])&&(o={prop:t[r][n],deep:!1},t[r][n]=o),"string"==typeof(o=t[r][n]).prop&&(o.prop=[o.prop])}e.observerInfo=t}}}var ze,Ge,Ye=function(e){function r(r){var n=r.resource,o=r.resourceTotal,i=e.call(this)||this;return i.progress=0,i.resourceTotal=0,i.resourceLoadedCount=0,i.resource=n,i.resourceTotal=o,0===o&&i.resource.emit(t.LOAD_EVENT.COMPLETE,i),i}return n(r,e),r.prototype.onStart=function(){this.resource.emit(t.LOAD_EVENT.START,this)},r.prototype.onProgress=function(e){this.resourceLoadedCount++,this.progress=Math.floor(this.resourceLoadedCount/this.resourceTotal*100)/100,e.success?this.resource.emit(t.LOAD_EVENT.LOADED,this,e):this.resource.emit(t.LOAD_EVENT.ERROR,this,e),this.resource.emit(t.LOAD_EVENT.PROGRESS,this,e),this.resourceLoadedCount===this.resourceTotal&&this.resource.emit(t.LOAD_EVENT.COMPLETE,this)},r}(p),He=Ye,Xe=function(){function t(t,e,r){void 0===e&&(e=!1),this.next=null,this.prev=null,this.owner=null,this.fn=t,this.once=e,this.thisArg=r}return t.prototype.detach=function(){return null!==this.owner&&(this.owner.detach(this),!0)},t.prototype.dispose=function(){this.detach()},t}(),Je=function(){function t(){this._head=null,this._tail=null,this._filter=null}return t.prototype.handlers=function(){for(var t=this._head,e=[];t;)e.push(t),t=t.next;return e},t.prototype.hasAny=function(){return!!this._head},t.prototype.has=function(t){return t.owner===this},t.prototype.dispatch=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=this._head;if(!r)return!1;if(this._filter&&!this._filter.apply(this,t))return!1;for(;r;)r.once&&this.detach(r),r.fn.apply(r.thisArg,t),r=r.next;return!0},t.prototype.add=function(t,e){return void 0===e&&(e=null),this._addSignalBinding(new Xe(t,!1,e))},t.prototype.once=function(t,e){return void 0===e&&(e=null),this._addSignalBinding(new Xe(t,!0,e))},t.prototype.detach=function(t){var e=t;return e.owner!==this||(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this._head?(this._head=e.next,null===e.next&&(this._tail=null)):e===this._tail&&(this._tail=e.prev,this._tail&&(this._tail.next=null)),e.owner=null),this},t.prototype.detachAll=function(){var t=this._head;if(!t)return this;for(this._head=null,this._tail=null;t;)t.owner=null,t=t.next;return this},t.prototype.filter=function(t){this._filter=t},t.prototype.proxy=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var n=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t.dispatch.apply(t,e)},o=0;o<e.length;++o)e[o].add(n);return this},t.prototype._addSignalBinding=function(t){var e=t;return this._head?(this._tail&&(this._tail.next=e),e.prev=this._tail,this._tail=e):(this._head=e,this._tail=e),e.owner=this,e},t}(),$e=(t,e={})=>{if(!t)return;const r={key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\d*))?))?((((?:[^?#/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#/]*\.[^?#/.]+(?:[?#]|$)))*\/?)?([^?#/]*))(?:\?([^#]*))?(?:#(.*))?)/}},n=r.parser[e.strictMode?"strict":"loose"].exec(t),o={};let i=14;for(;i--;)o[r.key[i]]=n[i]||"";return o[r.q.name]={},o[r.key[12]].replace(r.q.parser,(function(t,e,n){e&&(o[r.q.name][e]=n)})),o},Qe=function(t){this.config=t,this.onError=new Je,this.onComplete=new Je,this.onProgress=new Je},We=function(t,e){return We=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},We(t,e)};function Ke(t,e){function r(){this.constructor=t}We(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Ze(t){var e="";if(0===t.indexOf("data:")){var r=t.indexOf("/");e=t.substring(r+1,t.indexOf(";",r))}else{var n=t.indexOf("?"),o=t.indexOf("#"),i=Math.min(n>-1?n:t.length,o>-1?o:t.length);e=(t=t.substring(0,i)).substring(t.lastIndexOf(".")+1)}return e.toLowerCase()}function tr(t){throw new Error("Unexpected value. Should have been never.")}!function(t){t[t.Unknown=0]="Unknown",t[t.Buffer=1]="Buffer",t[t.Blob=2]="Blob",t[t.Json=3]="Json",t[t.Xml=4]="Xml",t[t.Image=5]="Image",t[t.Audio=6]="Audio",t[t.Video=7]="Video",t[t.Text=8]="Text"}(ze||(ze={})),function(t){t[t.NotStarted=0]="NotStarted",t[t.Loading=1]="Loading",t[t.Complete=2]="Complete"}(Ge||(Ge={}));var er,rr=function(t){function e(e,r){var n=t.call(this,e)||this;return n.elementType=r,n._boundOnLoad=n._onLoad.bind(n),n._boundOnError=n._onError.bind(n),n._boundOnTimeout=n._onTimeout.bind(n),n._element=n._createElement(),n._elementTimer=0,n}return Ke(e,t),e.prototype.load=function(){var t=this.config;t.crossOrigin&&(this._element.crossOrigin=t.crossOrigin);var e=t.sourceSet||[t.url];if(navigator.isCocoonJS)this._element.src=e[0];else for(var r=0;r<e.length;++r){var n=e[r],o=t.mimeTypes?t.mimeTypes[r]:void 0;o||(o=this.elementType+"/"+Ze(n));var i=document.createElement("source");i.src=n,i.type=o,this._element.appendChild(i)}this._element.addEventListener("load",this._boundOnLoad,!1),this._element.addEventListener("canplaythrough",this._boundOnLoad,!1),this._element.addEventListener("error",this._boundOnError,!1),this._element.load(),t.timeout&&(this._elementTimer=window.setTimeout(this._boundOnTimeout,t.timeout))},e.prototype.abort=function(){for(this._clearEvents();this._element.firstChild;)this._element.removeChild(this._element.firstChild);this._error(this.elementType+" load aborted by the user.")},e.prototype._createElement=function(){return this.config.loadElement?this.config.loadElement:document.createElement(this.elementType)},e.prototype._clearEvents=function(){clearTimeout(this._elementTimer),this._element.removeEventListener("load",this._boundOnLoad,!1),this._element.removeEventListener("canplaythrough",this._boundOnLoad,!1),this._element.removeEventListener("error",this._boundOnError,!1)},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(){this._clearEvents();var t=ze.Unknown;switch(this.elementType){case"audio":t=ze.Audio;break;case"video":t=ze.Video;break;default:tr(this.elementType)}this.onComplete.dispatch(t,this._element)},e.prototype._onLoad=function(){this._complete()},e.prototype._onError=function(){this._error(this.elementType+" failed to load.")},e.prototype._onTimeout=function(){this._error(this.elementType+" load timed out.")},e}(Qe),nr=function(t){function e(e){return t.call(this,e,"audio")||this}return Ke(e,t),e}(rr),or=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._boundOnLoad=e._onLoad.bind(e),e._boundOnError=e._onError.bind(e),e._boundOnTimeout=e._onTimeout.bind(e),e._element=e._createElement(),e._elementTimer=0,e}return Ke(e,t),e.prototype.load=function(){var t=this.config;t.crossOrigin&&(this._element.crossOrigin=t.crossOrigin),this._element.src=t.url,this._element.addEventListener("load",this._boundOnLoad,!1),this._element.addEventListener("error",this._boundOnError,!1),t.timeout&&(this._elementTimer=window.setTimeout(this._boundOnTimeout,t.timeout))},e.prototype.abort=function(){this._clearEvents(),this._element.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",this._error("Image load aborted by the user.")},e.prototype._createElement=function(){return this.config.loadElement?this.config.loadElement:document.createElement("img")},e.prototype._clearEvents=function(){clearTimeout(this._elementTimer),this._element.removeEventListener("load",this._boundOnLoad,!1),this._element.removeEventListener("error",this._boundOnError,!1)},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(){this._clearEvents(),this.onComplete.dispatch(ze.Image,this._element)},e.prototype._onLoad=function(){this._complete()},e.prototype._onError=function(){this._error("Image failed to load.")},e.prototype._onTimeout=function(){this._error("Image load timed out.")},e}(Qe),ir=function(t){function e(e){return t.call(this,e,"video")||this}return Ke(e,t),e}(rr),sr=!(!window.XDomainRequest||"withCredentials"in new XMLHttpRequest);function ar(t){return t.toString().replace("object ","")}!function(t){t.Default="text",t.Buffer="arraybuffer",t.Blob="blob",t.Document="document",t.Json="json",t.Text="text"}(er||(er={}));var cr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._boundOnLoad=e._onLoad.bind(e),e._boundOnAbort=e._onAbort.bind(e),e._boundOnError=e._onError.bind(e),e._boundOnTimeout=e._onTimeout.bind(e),e._boundOnProgress=e._onProgress.bind(e),e._xhr=e._createRequest(),e._xhrType=er.Default,e}return Ke(e,t),e.prototype.load=function(){var t=this.config,e=Ze(t.url);"string"!=typeof t.xhrType&&(t.xhrType=this._determineXhrType(e));var r=this._xhr;this._xhrType=t.xhrType||er.Default,sr?(r.timeout=t.timeout||5e3,r.onload=this._boundOnLoad,r.onerror=this._boundOnError,r.ontimeout=this._boundOnTimeout,r.onprogress=this._boundOnProgress,r.open("GET",t.url,!0),setTimeout((function(){r.send()}),0)):(r.open("GET",t.url,!0),t.timeout&&(r.timeout=t.timeout),t.xhrType===er.Json||t.xhrType===er.Document?r.responseType=er.Text:r.responseType=t.xhrType,r.addEventListener("load",this._boundOnLoad,!1),r.addEventListener("abort",this._boundOnAbort,!1),r.addEventListener("error",this._boundOnError,!1),r.addEventListener("timeout",this._boundOnTimeout,!1),r.addEventListener("progress",this._boundOnProgress,!1),r.send())},e.prototype.abort=function(){sr?(this._clearEvents(),this._xhr.abort(),this._onAbort()):this._xhr.abort()},e.prototype._createRequest=function(){return sr?new window.XDomainRequest:new XMLHttpRequest},e.prototype._determineXhrType=function(t){return e._xhrTypeMap[t]||er.Default},e.prototype._clearEvents=function(){sr?(this._xhr.onload=null,this._xhr.onerror=null,this._xhr.ontimeout=null,this._xhr.onprogress=null):(this._xhr.removeEventListener("load",this._boundOnLoad,!1),this._xhr.removeEventListener("abort",this._boundOnAbort,!1),this._xhr.removeEventListener("error",this._boundOnError,!1),this._xhr.removeEventListener("timeout",this._boundOnTimeout,!1),this._xhr.removeEventListener("progress",this._boundOnProgress,!1))},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(t,e){this._clearEvents(),this.onComplete.dispatch(t,e)},e.prototype._onLoad=function(){var t=this._xhr,e="",r=void 0===t.status?200:t.status;if(void 0!==t.responseType&&""!==t.responseType&&"text"!==t.responseType||(e=t.responseText),0===r&&(e.length>0||t.responseType===er.Buffer)?r=200:1223===r&&(r=204),200===100*Math.floor(r/100))switch(this._xhrType){case er.Buffer:this._complete(ze.Buffer,t.response);break;case er.Blob:this._complete(ze.Blob,t.response);break;case er.Document:this._parseDocument(e);break;case er.Json:this._parseJson(e);break;case er.Default:case er.Text:this._complete(ze.Text,e);break;default:tr(this._xhrType)}else this._error("["+t.status+"] "+t.statusText+": "+t.responseURL)},e.prototype._parseDocument=function(t){try{if(window.DOMParser){var e=(new DOMParser).parseFromString(t,"text/xml");this._complete(ze.Xml,e)}else{var r=document.createElement("div");r.innerHTML=t,this._complete(ze.Xml,r)}}catch(t){this._error("Error trying to parse loaded xml: "+t)}},e.prototype._parseJson=function(t){try{var e=JSON.parse(t);this._complete(ze.Json,e)}catch(t){this._error("Error trying to parse loaded json: "+t)}},e.prototype._onAbort=function(){var t=this._xhr;this._error(ar(t)+" Request was aborted by the user.")},e.prototype._onError=function(){var t=this._xhr;this._error(ar(t)+" Request failed. Status: "+t.status+', text: "'+t.statusText+'"')},e.prototype._onTimeout=function(){var t=this._xhr;this._error(ar(t)+" Request timed out.")},e.prototype._onProgress=function(t){t&&t.lengthComputable&&this.onProgress.dispatch(t.loaded/t.total)},e.setExtensionXhrType=function(t,r){t&&0===t.indexOf(".")&&(t=t.substring(1)),t&&(e._xhrTypeMap[t]=r)},e.ResponseType=er,e._xhrTypeMap={xhtml:er.Document,html:er.Document,htm:er.Document,xml:er.Document,tmx:er.Document,svg:er.Document,tsx:er.Document,gif:er.Blob,png:er.Blob,bmp:er.Blob,jpg:er.Blob,jpeg:er.Blob,tif:er.Blob,tiff:er.Blob,webp:er.Blob,tga:er.Blob,json:er.Json,text:er.Text,txt:er.Text,ttf:er.Buffer,otf:er.Buffer},e}(Qe);function ur(t){var e=t;return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];if(null===e)throw new Error("Callback was already called.");var n=e;return e=null,n.apply(this,t)}}var lr=function(){function t(t,e){if(void 0===e&&(e=1),this.worker=t,this.concurrency=e,this.workers=0,this.buffer=0,this.paused=!1,this._started=!1,this._tasks=[],this.onSaturated=new Je,this.onUnsaturated=new Je,this.onEmpty=new Je,this.onDrain=new Je,this.onError=new Je,0===e)throw new Error("Concurrency must not be zero");this.buffer=e/4}return Object.defineProperty(t.prototype,"started",{get:function(){return this._started},enumerable:!0,configurable:!0}),t.prototype.reset=function(){this.onDrain.detachAll(),this.workers=0,this._started=!1,this._tasks=[]},t.prototype.push=function(t,e){this._insert(t,!1,e)},t.prototype.unshift=function(t,e){this._insert(t,!0,e)},t.prototype.process=function(){for(;!this.paused&&this.workers<this.concurrency&&this._tasks.length;){var t=this._tasks.shift();0===this._tasks.length&&this.onEmpty.dispatch(),this.workers+=1,this.workers===this.concurrency&&this.onSaturated.dispatch(),this.worker(t.data,ur(this._next(t)))}},t.prototype.length=function(){return this._tasks.length},t.prototype.running=function(){return this.workers},t.prototype.idle=function(){return this._tasks.length+this.workers===0},t.prototype.pause=function(){!0!==this.paused&&(this.paused=!0)},t.prototype.resume=function(){if(!1!==this.paused){this.paused=!1;for(var t=1;t<=this.concurrency;t++)this.process()}},t.prototype.getTask=function(t){return this._tasks[t]},t.prototype._insert=function(t,e,r){var n=this;if(null!=r&&"function"!=typeof r)throw new Error("task callback must be a function");if(this._started=!0,null==t&&this.idle())setTimeout((function(){return n.onDrain.dispatch()}),1);else{var o={data:t,callback:r};e?this._tasks.unshift(o):this._tasks.push(o),setTimeout((function(){return n.process()}),1)}},t.prototype._next=function(t){var e=this;return function(r){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];e.workers-=1,t.callback&&t.callback.apply(t,function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<r;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)n[o]=i[s];return n}([r],n)),r&&e.onError.dispatch(r,t.data),e.workers<=e.concurrency-e.buffer&&e.onUnsaturated.dispatch(),e.idle()&&e.onDrain.dispatch(),e.process()}},t}(),pr=function(){function t(e,r){if(this.children=[],this.onStart=new Je,this.onProgress=new Je,this.onComplete=new Je,this.onAfterMiddleware=new Je,this.data=null,this.type=ze.Unknown,this.error="",this.progressChunk=0,this._dequeue=function(){},this._onCompleteBinding=null,this._state=Ge.NotStarted,this.name=e,this.metadata=r.metadata,"string"!=typeof r.crossOrigin&&(r.crossOrigin=this._determineCrossOrigin(r.url)),r.strategy&&"function"!=typeof r.strategy)this._strategy=r.strategy,this._strategy.config=r;else{var n=r.strategy;n||(n=t._loadStrategyMap[Ze(r.url)]),n||(n=t._defaultLoadStrategy),this._strategy=new n(r)}this._strategy.onError.add(this._error,this),this._strategy.onComplete.add(this._complete,this),this._strategy.onProgress.add(this._progress,this)}return t.setDefaultLoadStrategy=function(e){t._defaultLoadStrategy=e},t.setLoadStrategy=function(e,r){e&&0===e.indexOf(".")&&(e=e.substring(1)),e&&(t._loadStrategyMap[e]=r)},Object.defineProperty(t.prototype,"strategy",{get:function(){return this._strategy},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"url",{get:function(){return this._strategy.config.url},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLoading",{get:function(){return this._state===Ge.Loading},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isComplete",{get:function(){return this._state===Ge.Complete},enumerable:!0,configurable:!0}),t.prototype.abort=function(){this._strategy.abort()},t.prototype.load=function(){this._state=Ge.Loading,this.onStart.dispatch(this),this._strategy.load()},t.prototype._error=function(t){this._state=Ge.Complete,this.error=t,this.onComplete.dispatch(this)},t.prototype._complete=function(t,e){this._state=Ge.Complete,this.type=t,this.data=e,this.onComplete.dispatch(this)},t.prototype._progress=function(t){this.onProgress.dispatch(this,t)},t.prototype._determineCrossOrigin=function(e,r){if(void 0===r&&(r=window.location),0===e.indexOf("data:")||0===e.indexOf("javascript:"))return"";if(window.origin!==window.location.origin)return"anonymous";t._tempAnchor||(t._tempAnchor=document.createElement("a")),t._tempAnchor.href=e;var n=$e(t._tempAnchor.href,{strictMode:!0}),o=!n.port&&""===r.port||n.port===r.port,i=n.protocol?n.protocol+":":"";return n.host===r.hostname&&o&&i===r.protocol?"":"anonymous"},t._tempAnchor=null,t._defaultLoadStrategy=cr,t._loadStrategyMap={gif:or,png:or,bmp:or,jpg:or,jpeg:or,tif:or,tiff:or,webp:or,tga:or,svg:or,"svg+xml":or,mp3:nr,ogg:nr,wav:nr,mp4:ir,webm:ir,mov:ir},t}();var hr,fr,dr=/(#[\w-]+)?$/,yr=function(){function t(e,r){void 0===e&&(e=""),void 0===r&&(r=10),this.progress=0,this.loading=!1,this.defaultQueryString="",this.resources={},this.onError=new Je,this.onLoad=new Je,this.onStart=new Je,this.onComplete=new Je,this.onProgress=new Je,this._baseUrl="",this._urlResolvers=[],this._middleware=[],this._resourcesParsing=[],this._boundLoadResource=this._loadResource.bind(this),this.baseUrl=e,this._queue=new lr(this._boundLoadResource,r),this._queue.pause(),this._middleware=t._defaultMiddleware.slice()}return Object.defineProperty(t.prototype,"baseUrl",{get:function(){return this._baseUrl},set:function(t){for(;t.length&&"/"===t.charAt(t.length-1);)t=t.slice(0,-1);this._baseUrl=t},enumerable:!0,configurable:!0}),t.prototype.add=function(t,e){if(Array.isArray(t)){for(var r=0;r<t.length;++r)this.add(t[r]);return this}var n="",o="",i=this._baseUrl,s={url:""};if("object"==typeof t?(n=t.url,o=t.name||t.url,i=t.baseUrl||i,s=t):(o=t,n="string"==typeof e?e:o),!n)throw new Error("You must specify the `url` property.");if(this.loading&&!s.parentResource)throw new Error("Cannot add root resources while the loader is running.");if(this.resources[o])throw new Error('Resource named "'+o+'" already exists.');n=this._prepareUrl(n,i),s.url=n;var a=new pr(o,s);if(this.resources[o]=a,"function"==typeof s.onComplete&&a.onAfterMiddleware.once(s.onComplete),this.loading){var c=s.parentResource,u=[];for(r=0;r<c.children.length;++r)c.children[r].isComplete||u.push(c.children[r]);var l=c.progressChunk*(u.length+1)/(u.length+2);c.children.push(a),c.progressChunk=l;for(r=0;r<u.length;++r)u[r].progressChunk=l;a.progressChunk=l}return this._queue.push(a),this},t.prototype.use=function(e,r){return void 0===r&&(r=t.DefaultMiddlewarePriority),this._middleware.push({fn:e,priority:r}),this._middleware.sort((function(t,e){return t.priority-e.priority})),this},t.prototype.reset=function(){for(var t in this.progress=0,this.loading=!1,this._queue.reset(),this._queue.pause(),this.resources){var e=this.resources[t];e&&(e._onCompleteBinding&&e._onCompleteBinding.detach(),e.isLoading&&e.abort())}return this.resources={},this},t.prototype.load=function(t){if("function"==typeof t&&this.onComplete.once(t),this.loading)return this;if(this._queue.idle())this._onStart(),this._onComplete();else{for(var e=100/this._queue.length(),r=0;r<this._queue.length();++r)this._queue.getTask(r).data.progressChunk=e;this._onStart(),this._queue.resume()}return this},Object.defineProperty(t.prototype,"concurrency",{get:function(){return this._queue.concurrency},set:function(t){this._queue.concurrency=t},enumerable:!0,configurable:!0}),t.prototype.addUrlResolver=function(t){return this._urlResolvers.push(t),this},t.prototype._prepareUrl=function(t,e){var r=$e(t,{strictMode:!0});if(this._urlResolvers.forEach((function(e){t=e(t,r),r=$e(t,{strictMode:!0})})),r.protocol||0===t.indexOf("//")||(t=e.length&&"/"!==t.charAt(0)?e+"/"+t:e+t),this.defaultQueryString){var n=dr.exec(t);if(n){var o=n[0];-1!==(t=t.substr(0,t.length-o.length)).indexOf("?")?t+="&"+this.defaultQueryString:t+="?"+this.defaultQueryString,t+=o}}return t},t.prototype._loadResource=function(t,e){t._dequeue=e,t._onCompleteBinding=t.onComplete.once(this._onLoad,this),t.load()},t.prototype._onStart=function(){this.progress=0,this.loading=!0,this.onStart.dispatch(this)},t.prototype._onComplete=function(){this.progress=100,this.loading=!1,this.onComplete.dispatch(this,this.resources)},t.prototype._onLoad=function(t){var e=this;t._onCompleteBinding=null,this._resourcesParsing.push(t),t._dequeue(),function(t,e,r,n){void 0===n&&(n=!1);var o=0,i=t.length;!function s(a){a||o===i?r&&r(a):n?setTimeout((function(){return e(t[o++],s)}),1):e(t[o++],s)}()}(this._middleware,(function(r,n){r.fn.call(e,t,n)}),(function(){t.onAfterMiddleware.dispatch(t),e.progress=Math.min(100,e.progress+t.progressChunk),e.onProgress.dispatch(e,t),t.error?e.onError.dispatch(t.error,e,t):e.onLoad.dispatch(e,t),e._resourcesParsing.splice(e._resourcesParsing.indexOf(t),1),e._queue.idle()&&0===e._resourcesParsing.length&&e._onComplete()}),!0)},t.use=function(e,r){return void 0===r&&(r=t.DefaultMiddlewarePriority),t._defaultMiddleware.push({fn:e,priority:r}),t._defaultMiddleware.sort((function(t,e){return t.priority-e.priority})),t},t.DefaultMiddlewarePriority=50,t._defaultMiddleware=[],t}(),mr={AbstractLoadStrategy:Qe,AudioLoadStrategy:nr,ImageLoadStrategy:or,XhrResponseType:er,MediaElementLoadStrategy:rr,VideoLoadStrategy:ir,Loader:yr,Resource:pr,ResourceType:ze,ResourceState:Ge};t.LOAD_EVENT=void 0,(hr=t.LOAD_EVENT||(t.LOAD_EVENT={})).START="start",hr.PROGRESS="progress",hr.LOADED="loaded",hr.COMPLETE="complete",hr.ERROR="error",t.RESOURCE_TYPE=void 0,(fr=t.RESOURCE_TYPE||(t.RESOURCE_TYPE={})).IMAGE="IMAGE",fr.SPRITE="SPRITE",fr.SPRITE_ANIMATION="SPRITE_ANIMATION",fr.AUDIO="AUDIO",fr.VIDEO="VIDEO";var vr=function(r){function o(t){var e=r.call(this)||this;return e.timeout=6e3,e.preProcessResourceHandlers=[],e.resourcesMap={},e.makeInstanceFunctions={},e.destroyInstanceFunctions={},e.promiseMap={},t&&"number"==typeof t.timeout&&(e.timeout=t.timeout),e}return n(o,r),o.prototype.loadConfig=function(t){this.addResource(t),this.preload()},o.prototype.loadSingle=function(t){return this.addResource([t]),this.getResource(t.name)},o.prototype.addResource=function(t){var e,r;if(!t||t.length<1)console.warn("no resources");else try{for(var n=a(t),o=n.next();!o.done;o=n.next()){var i=o.value;this.resourcesMap[i.name]?console.warn(i.name+" was already added"):(this.resourcesMap[i.name]=i,this.resourcesMap[i.name].data={})}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},o.prototype.addPreProcessResourceHandler=function(t){this.preProcessResourceHandlers.push(t)},o.prototype.removePreProcessResourceHandler=function(t){this.preProcessResourceHandlers.splice(this.preProcessResourceHandlers.indexOf(t),1)},o.prototype.preload=function(){var t=[];for(var e in this.resourcesMap){var r=this.resourcesMap[e];!r.preload||r.complete||this.promiseMap[e]||t.push(r.name)}this.progress=new He({resource:this,resourceTotal:t.length}),this.loadResource({names:t,preload:!0})},o.prototype.getResource=function(t){return i(this,void 0,void 0,(function(){return s(this,(function(e){return this.loadResource({names:[t]}),[2,this.promiseMap[t]||Promise.resolve({})]}))}))},o.prototype.instance=function(t){return i(this,void 0,void 0,(function(){var e,r;return s(this,(function(n){switch(n.label){case 0:return e=this.resourcesMap[t],(r=this.makeInstanceFunctions[e.type])?[4,this.makeInstanceFunctions[e.type](e)]:[3,2];case 1:r=n.sent(),n.label=2;case 2:return[2,r]}}))}))},o.prototype.destroy=function(t){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return[4,this._destroy(t)];case 1:return e.sent(),[2]}}))}))},o.prototype._destroy=function(t,e){return void 0===e&&(e=!1),i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:if(!(r=this.resourcesMap[t]))return[2];if(e)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[t],r.data={},r.complete=!1,r.instance=void 0,[2]}}))}))},o.prototype.registerResourceType=function(e,r){if(void 0===r&&(r=e),t.RESOURCE_TYPE[e])throw new Error("The type "+e+" already exists in RESOURCE_TYPE");t.RESOURCE_TYPE[e]=r},o.prototype.registerInstance=function(t,e){this.makeInstanceFunctions[t]=e},o.prototype.registerDestroy=function(t,e){this.destroyInstanceFunctions[t]=e},o.prototype.loadResource=function(t){var r=this,n=t.names,o=void 0===n?[]:n,i=t.preload,s=void 0!==i&&i,c=o.filter((function(t){return!r.promiseMap[t]&&r.resourcesMap[t]}));if(c.length){var u={};c.forEach((function(t){var n,o,i;r.promiseMap[t]=new Promise((function(e){return u[t]=e}));var c=r.resourcesMap[t];try{for(var l=a(r.preProcessResourceHandlers),p=l.next();!p.done;p=l.next()){(0,p.value)(c)}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}var h=function(n){if("data"===c.src[n].type)c.data[n]=c.src[n].data,r.doComplete(t,u[t],s);else{var o=null===(i=c.src[n])||void 0===i?void 0:i.url;"string"==typeof o&&o.startsWith("//")&&(o=""+window.location.protocol+c.src[n].url),e.Assets.load(o).then((function(e){r.onLoad({preload:s,resource:{metadata:{key:n,name:t,resolves:u},data:e}})})).catch((function(e){console.log(">>>E",e),r.onError({preload:s,errMsg:e.message,resource:{metadata:{key:n,name:t,resolves:u}}})}))}};for(var f in c.src)h(f)}))}},o.prototype.doComplete=function(t,e,r){return void 0===r&&(r=!1),i(this,void 0,void 0,(function(){var n,o,i,a;return s(this,(function(s){switch(s.label){case 0:if(n=this.resourcesMap[t],o={name:t,resource:this.resourcesMap[t],success:!0},!this.checkAllLoaded(t))return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),i=n,[4,this.instance(t)];case 2:return i.instance=s.sent(),n.complete=!0,r&&this.progress.onProgress(o),e(n),[3,4];case 3:return a=s.sent(),console.error(a),n.complete=!1,r&&(o.errMsg=a.message,o.success=!1,this.progress.onProgress(o)),e({}),[3,4];case 4:return[2]}}))}))},o.prototype.checkAllLoaded=function(t){var e=this.resourcesMap[t];return Array.from(Object.keys(e.src)).every((function(t){return e.data[t]}))},o.prototype.getLoader=function(t){},o.prototype.onLoad=function(t){var e=t.preload,r=void 0!==e&&e,n=t.resource;return i(this,void 0,void 0,(function(){var t,e,o,i,a;return s(this,(function(s){return t=n.metadata,e=t.key,o=t.name,i=t.resolves,a=n.data,this.resourcesMap[o].data[e]=a,this.doComplete(o,i[o],r),[2]}))}))},o.prototype.onError=function(t){var e=t.errMsg,r=t.preload,n=void 0!==r&&r,o=t.resource;return i(this,void 0,void 0,(function(){var t,r,i,a;return s(this,(function(s){return t=o.metadata,r=t.name,i=t.resolves,this._destroy(r,!0),i[r]({}),n&&(a={name:r,resource:this.resourcesMap[r],success:!1,errMsg:e},this.progress.onProgress(a)),[2]}))}))},o}(p),_r=new vr,br={IDEProp:qe,componentObserver:Fe},gr="2.0.0-beta.0";console.log("Eva.js version: "+gr);return t.Component=f,t.Game=Ue,t.GameObject=je,t.IDEProp=qe,t.RESOURCE_TYPE_STRATEGY={},t.Scene=Ne,t.System=Re,t.Transform=Te,t.componentObserver=Fe,t.decorators=br,t.resource=_r,t.resourceLoader=mr,t.version=gr,Object.defineProperty(t,"__esModule",{value:!0}),t}({},PIXI);window.EVA=window.EVA||_EVA_IIFE_EVA;
1
+ function _extends(){return _extends=Object.assign?Object.assign.bind():function(t){for(var e=1;e<arguments.length;e++){var r=arguments[e];for(var n in r)({}).hasOwnProperty.call(r,n)&&(t[n]=r[n])}return t},_extends.apply(null,arguments)}var _EVA_IIFE_EVA=function(t,e){"use strict";var r=function(t,e){return r=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},r(t,e)};function n(t,e){function n(){this.constructor=t}r(t,e),t.prototype=null===e?Object.create(e):(n.prototype=e.prototype,new n)}function o(t,e,r,n){var o,i=arguments.length,s=i<3?e:null===n?n=Object.getOwnPropertyDescriptor(e,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(t,e,r,n);else for(var a=t.length-1;a>=0;a--)(o=t[a])&&(s=(i<3?o(s):i>3?o(e,r,s):o(e,r))||s);return i>3&&s&&Object.defineProperty(e,r,s),s}function i(t,e,r,n){return new(r||(r=Promise))((function(o,i){function s(t){try{c(n.next(t))}catch(t){i(t)}}function a(t){try{c(n.throw(t))}catch(t){i(t)}}function c(t){var e;t.done?o(t.value):(e=t.value,e instanceof r?e:new r((function(t){t(e)}))).then(s,a)}c((n=n.apply(t,e||[])).next())}))}function s(t,e){var r,n,o,i,s={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return i={next:a(0),throw:a(1),return:a(2)},"function"==typeof Symbol&&(i[Symbol.iterator]=function(){return this}),i;function a(i){return function(a){return function(i){if(r)throw new TypeError("Generator is already executing.");for(;s;)try{if(r=1,n&&(o=2&i[0]?n.return:i[0]?n.throw||((o=n.return)&&o.call(n),0):n.next)&&!(o=o.call(n,i[1])).done)return o;switch(n=0,o&&(i=[2&i[0],o.value]),i[0]){case 0:case 1:o=i;break;case 4:return s.label++,{value:i[1],done:!1};case 5:s.label++,n=i[1],i=[0];continue;case 7:i=s.ops.pop(),s.trys.pop();continue;default:if(!(o=s.trys,(o=o.length>0&&o[o.length-1])||6!==i[0]&&2!==i[0])){s=0;continue}if(3===i[0]&&(!o||i[1]>o[0]&&i[1]<o[3])){s.label=i[1];break}if(6===i[0]&&s.label<o[1]){s.label=o[1],o=i;break}if(o&&s.label<o[2]){s.label=o[2],s.ops.push(i);break}o[2]&&s.ops.pop(),s.trys.pop();continue}i=e.call(t,s)}catch(t){i=[6,t],n=0}finally{r=o=0}if(5&i[0])throw i[1];return{value:i[0]?i[1]:void 0,done:!0}}([i,a])}}}function a(t){var e="function"==typeof Symbol&&Symbol.iterator,r=e&&t[e],n=0;if(r)return r.call(t);if(t&&"number"==typeof t.length)return{next:function(){return t&&n>=t.length&&(t=void 0),{value:t&&t[n++],done:!t}}};throw new TypeError(e?"Object is not iterable.":"Symbol.iterator is not defined.")}function c(t,e){var r="function"==typeof Symbol&&t[Symbol.iterator];if(!r)return t;var n,o,i=r.call(t),s=[];try{for(;(void 0===e||e-- >0)&&!(n=i.next()).done;)s.push(n.value)}catch(t){o={error:t}}finally{try{n&&!n.done&&(r=i.return)&&r.call(i)}finally{if(o)throw o.error}}return s}function u(){for(var t=[],e=0;e<arguments.length;e++)t=t.concat(c(arguments[e]));return t}var l=function(t){var e={exports:{}};return t(e,e.exports),e.exports}((function(t){var e=Object.prototype.hasOwnProperty,r="~";function n(){}function o(t,e,r){this.fn=t,this.context=e,this.once=r||!1}function i(t,e,n,i,s){if("function"!=typeof n)throw new TypeError("The listener must be a function");var a=new o(n,i||t,s),c=r?r+e:e;return t._events[c]?t._events[c].fn?t._events[c]=[t._events[c],a]:t._events[c].push(a):(t._events[c]=a,t._eventsCount++),t}function s(t,e){0==--t._eventsCount?t._events=new n:delete t._events[e]}function a(){this._events=new n,this._eventsCount=0}Object.create&&(n.prototype=Object.create(null),(new n).__proto__||(r=!1)),a.prototype.eventNames=function(){var t,n,o=[];if(0===this._eventsCount)return o;for(n in t=this._events)e.call(t,n)&&o.push(r?n.slice(1):n);return Object.getOwnPropertySymbols?o.concat(Object.getOwnPropertySymbols(t)):o},a.prototype.listeners=function(t){var e=r?r+t:t,n=this._events[e];if(!n)return[];if(n.fn)return[n.fn];for(var o=0,i=n.length,s=new Array(i);o<i;o++)s[o]=n[o].fn;return s},a.prototype.listenerCount=function(t){var e=r?r+t:t,n=this._events[e];return n?n.fn?1:n.length:0},a.prototype.emit=function(t,e,n,o,i,s){var a=r?r+t:t;if(!this._events[a])return!1;var c,u,l=this._events[a],p=arguments.length;if(l.fn){switch(l.once&&this.removeListener(t,l.fn,void 0,!0),p){case 1:return l.fn.call(l.context),!0;case 2:return l.fn.call(l.context,e),!0;case 3:return l.fn.call(l.context,e,n),!0;case 4:return l.fn.call(l.context,e,n,o),!0;case 5:return l.fn.call(l.context,e,n,o,i),!0;case 6:return l.fn.call(l.context,e,n,o,i,s),!0}for(u=1,c=new Array(p-1);u<p;u++)c[u-1]=arguments[u];l.fn.apply(l.context,c)}else{var h,f=l.length;for(u=0;u<f;u++)switch(l[u].once&&this.removeListener(t,l[u].fn,void 0,!0),p){case 1:l[u].fn.call(l[u].context);break;case 2:l[u].fn.call(l[u].context,e);break;case 3:l[u].fn.call(l[u].context,e,n);break;case 4:l[u].fn.call(l[u].context,e,n,o);break;default:if(!c)for(h=1,c=new Array(p-1);h<p;h++)c[h-1]=arguments[h];l[u].fn.apply(l[u].context,c)}}return!0},a.prototype.on=function(t,e,r){return i(this,t,e,r,!1)},a.prototype.once=function(t,e,r){return i(this,t,e,r,!0)},a.prototype.removeListener=function(t,e,n,o){var i=r?r+t:t;if(!this._events[i])return this;if(!e)return s(this,i),this;var a=this._events[i];if(a.fn)a.fn!==e||o&&!a.once||n&&a.context!==n||s(this,i);else{for(var c=0,u=[],l=a.length;c<l;c++)(a[c].fn!==e||o&&!a[c].once||n&&a[c].context!==n)&&u.push(a[c]);u.length?this._events[i]=1===u.length?u[0]:u:s(this,i)}return this},a.prototype.removeAllListeners=function(t){var e;return t?(e=r?r+t:t,this._events[e]&&s(this,e)):(this._events=new n,this._eventsCount=0),this},a.prototype.off=a.prototype.removeListener,a.prototype.addListener=a.prototype.on,a.prefixed=r,a.EventEmitter=a,t.exports=a})),p=l;var h=function(t){function e(e){var r=t.call(this)||this;return r.started=!1,r.name=r.constructor.componentName,r.__componentDefaultParams=e,r}return n(e,t),e}(p),f=h,d="object"==typeof global&&global&&global.Object===Object&&global,y="object"==typeof self&&self&&self.Object===Object&&self,m=d||y||Function("return this")(),v=m.Symbol,_=Object.prototype,b=_.hasOwnProperty,g=_.toString,w=v?v.toStringTag:void 0;var E=Object.prototype.toString;var O=v?v.toStringTag:void 0;function T(t){return null==t?void 0===t?"[object Undefined]":"[object Null]":O&&O in Object(t)?function(t){var e=b.call(t,w),r=t[w];try{t[w]=void 0;var n=!0}catch(t){}var o=g.call(t);return n&&(e?t[w]=r:delete t[w]),o}(t):function(t){return E.call(t)}(t)}function x(t){return null!=t&&"object"==typeof t}var j=Array.isArray;function k(t){var e=typeof t;return null!=t&&("object"==e||"function"==e)}function A(t){if(!k(t))return!1;var e=T(t);return"[object Function]"==e||"[object GeneratorFunction]"==e||"[object AsyncFunction]"==e||"[object Proxy]"==e}var R,P=m["__core-js_shared__"],S=(R=/[^.]+$/.exec(P&&P.keys&&P.keys.IE_PROTO||""))?"Symbol(src)_1."+R:"";var C=Function.prototype.toString;function L(t){if(null!=t){try{return C.call(t)}catch(t){}try{return t+""}catch(t){}}return""}var M=/^\[object .+?Constructor\]$/,D=Function.prototype,I=Object.prototype,N=D.toString,B=I.hasOwnProperty,V=RegExp("^"+N.call(B).replace(/[\\^$.*+?()[\]{}|]/g,"\\$&").replace(/hasOwnProperty|(function).*?(?=\\\()| for .+?(?=\\\])/g,"$1.*?")+"$");function U(t){return!(!k(t)||(e=t,S&&S in e))&&(A(t)?V:M).test(L(t));var e}function q(t,e){var r=function(t,e){return null==t?void 0:t[e]}(t,e);return U(r)?r:void 0}var F=q(m,"WeakMap"),z=/^(?:0|[1-9]\d*)$/;function G(t,e){var r=typeof t;return!!(e=null==e?9007199254740991:e)&&("number"==r||"symbol"!=r&&z.test(t))&&t>-1&&t%1==0&&t<e}function Y(t,e){return t===e||t!=t&&e!=e}function H(t){return"number"==typeof t&&t>-1&&t%1==0&&t<=9007199254740991}var X=Object.prototype;function J(t){return x(t)&&"[object Arguments]"==T(t)}var $=Object.prototype,Q=$.hasOwnProperty,W=$.propertyIsEnumerable,K=J(function(){return arguments}())?J:function(t){return x(t)&&Q.call(t,"callee")&&!W.call(t,"callee")},Z=K;var tt="object"==typeof t&&t&&!t.nodeType&&t,et=tt&&"object"==typeof module&&module&&!module.nodeType&&module,rt=et&&et.exports===tt?m.Buffer:void 0,nt=(rt?rt.isBuffer:void 0)||function(){return!1},ot={};ot["[object Float32Array]"]=ot["[object Float64Array]"]=ot["[object Int8Array]"]=ot["[object Int16Array]"]=ot["[object Int32Array]"]=ot["[object Uint8Array]"]=ot["[object Uint8ClampedArray]"]=ot["[object Uint16Array]"]=ot["[object Uint32Array]"]=!0,ot["[object Arguments]"]=ot["[object Array]"]=ot["[object ArrayBuffer]"]=ot["[object Boolean]"]=ot["[object DataView]"]=ot["[object Date]"]=ot["[object Error]"]=ot["[object Function]"]=ot["[object Map]"]=ot["[object Number]"]=ot["[object Object]"]=ot["[object RegExp]"]=ot["[object Set]"]=ot["[object String]"]=ot["[object WeakMap]"]=!1;var it,st="object"==typeof t&&t&&!t.nodeType&&t,at=st&&"object"==typeof module&&module&&!module.nodeType&&module,ct=at&&at.exports===st&&d.process,ut=function(){try{var t=at&&at.require&&at.require("util").types;return t||ct&&ct.binding&&ct.binding("util")}catch(t){}}(),lt=ut&&ut.isTypedArray,pt=lt?(it=lt,function(t){return it(t)}):function(t){return x(t)&&H(t.length)&&!!ot[T(t)]},ht=Object.prototype.hasOwnProperty;function ft(t,e){var r=j(t),n=!r&&Z(t),o=!r&&!n&&nt(t),i=!r&&!n&&!o&&pt(t),s=r||n||o||i,a=s?function(t,e){for(var r=-1,n=Array(t);++r<t;)n[r]=e(r);return n}(t.length,String):[],c=a.length;for(var u in t)!e&&!ht.call(t,u)||s&&("length"==u||o&&("offset"==u||"parent"==u)||i&&("buffer"==u||"byteLength"==u||"byteOffset"==u)||G(u,c))||a.push(u);return a}var dt=function(t,e){return function(r){return t(e(r))}}(Object.keys,Object),yt=dt,mt=Object.prototype.hasOwnProperty;function vt(t){if(r=(e=t)&&e.constructor,e!==("function"==typeof r&&r.prototype||X))return yt(t);var e,r,n=[];for(var o in Object(t))mt.call(t,o)&&"constructor"!=o&&n.push(o);return n}function _t(t){return null!=(e=t)&&H(e.length)&&!A(e)?ft(t):vt(t);var e}var bt=q(Object,"create");var gt=Object.prototype.hasOwnProperty;var wt=Object.prototype.hasOwnProperty;function Et(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}function Ot(t,e){for(var r=t.length;r--;)if(Y(t[r][0],e))return r;return-1}Et.prototype.clear=function(){this.__data__=bt?bt(null):{},this.size=0},Et.prototype.delete=function(t){var e=this.has(t)&&delete this.__data__[t];return this.size-=e?1:0,e},Et.prototype.get=function(t){var e=this.__data__;if(bt){var r=e[t];return"__lodash_hash_undefined__"===r?void 0:r}return gt.call(e,t)?e[t]:void 0},Et.prototype.has=function(t){var e=this.__data__;return bt?void 0!==e[t]:wt.call(e,t)},Et.prototype.set=function(t,e){var r=this.__data__;return this.size+=this.has(t)?0:1,r[t]=bt&&void 0===e?"__lodash_hash_undefined__":e,this};var Tt=Array.prototype.splice;function xt(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}xt.prototype.clear=function(){this.__data__=[],this.size=0},xt.prototype.delete=function(t){var e=this.__data__,r=Ot(e,t);return!(r<0)&&(r==e.length-1?e.pop():Tt.call(e,r,1),--this.size,!0)},xt.prototype.get=function(t){var e=this.__data__,r=Ot(e,t);return r<0?void 0:e[r][1]},xt.prototype.has=function(t){return Ot(this.__data__,t)>-1},xt.prototype.set=function(t,e){var r=this.__data__,n=Ot(r,t);return n<0?(++this.size,r.push([t,e])):r[n][1]=e,this};var jt=q(m,"Map");function kt(t,e){var r=t.__data__;return function(t){var e=typeof t;return"string"==e||"number"==e||"symbol"==e||"boolean"==e?"__proto__"!==t:null===t}(e)?r["string"==typeof e?"string":"hash"]:r.map}function At(t){var e=-1,r=null==t?0:t.length;for(this.clear();++e<r;){var n=t[e];this.set(n[0],n[1])}}At.prototype.clear=function(){this.size=0,this.__data__={hash:new Et,map:new(jt||xt),string:new Et}},At.prototype.delete=function(t){var e=kt(this,t).delete(t);return this.size-=e?1:0,e},At.prototype.get=function(t){return kt(this,t).get(t)},At.prototype.has=function(t){return kt(this,t).has(t)},At.prototype.set=function(t,e){var r=kt(this,t),n=r.size;return r.set(t,e),this.size+=r.size==n?0:1,this};function Rt(t){var e=this.__data__=new xt(t);this.size=e.size}Rt.prototype.clear=function(){this.__data__=new xt,this.size=0},Rt.prototype.delete=function(t){var e=this.__data__,r=e.delete(t);return this.size=e.size,r},Rt.prototype.get=function(t){return this.__data__.get(t)},Rt.prototype.has=function(t){return this.__data__.has(t)},Rt.prototype.set=function(t,e){var r=this.__data__;if(r instanceof xt){var n=r.__data__;if(!jt||n.length<199)return n.push([t,e]),this.size=++r.size,this;r=this.__data__=new At(n)}return r.set(t,e),this.size=r.size,this};var Pt=Object.prototype.propertyIsEnumerable,St=Object.getOwnPropertySymbols,Ct=St?function(t){return null==t?[]:(t=Object(t),function(t,e){for(var r=-1,n=null==t?0:t.length,o=0,i=[];++r<n;){var s=t[r];e(s,r,t)&&(i[o++]=s)}return i}(St(t),(function(e){return Pt.call(t,e)})))}:function(){return[]};function Lt(t){return function(t,e,r){var n=e(t);return j(t)?n:function(t,e){for(var r=-1,n=e.length,o=t.length;++r<n;)t[o+r]=e[r];return t}(n,r(t))}(t,_t,Ct)}var Mt=q(m,"DataView"),Dt=q(m,"Promise"),It=q(m,"Set"),Nt="[object Map]",Bt="[object Promise]",Vt="[object Set]",Ut="[object WeakMap]",qt="[object DataView]",Ft=L(Mt),zt=L(jt),Gt=L(Dt),Yt=L(It),Ht=L(F),Xt=T;(Mt&&Xt(new Mt(new ArrayBuffer(1)))!=qt||jt&&Xt(new jt)!=Nt||Dt&&Xt(Dt.resolve())!=Bt||It&&Xt(new It)!=Vt||F&&Xt(new F)!=Ut)&&(Xt=function(t){var e=T(t),r="[object Object]"==e?t.constructor:void 0,n=r?L(r):"";if(n)switch(n){case Ft:return qt;case zt:return Nt;case Gt:return Bt;case Yt:return Vt;case Ht:return Ut}return e});var Jt=Xt,$t=m.Uint8Array;function Qt(t){var e=-1,r=null==t?0:t.length;for(this.__data__=new At;++e<r;)this.add(t[e])}function Wt(t,e){for(var r=-1,n=null==t?0:t.length;++r<n;)if(e(t[r],r,t))return!0;return!1}Qt.prototype.add=Qt.prototype.push=function(t){return this.__data__.set(t,"__lodash_hash_undefined__"),this},Qt.prototype.has=function(t){return this.__data__.has(t)};function Kt(t,e,r,n,o,i){var s=1&r,a=t.length,c=e.length;if(a!=c&&!(s&&c>a))return!1;var u=i.get(t),l=i.get(e);if(u&&l)return u==e&&l==t;var p=-1,h=!0,f=2&r?new Qt:void 0;for(i.set(t,e),i.set(e,t);++p<a;){var d=t[p],y=e[p];if(n)var m=s?n(y,d,p,e,t,i):n(d,y,p,t,e,i);if(void 0!==m){if(m)continue;h=!1;break}if(f){if(!Wt(e,(function(t,e){if(s=e,!f.has(s)&&(d===t||o(d,t,r,n,i)))return f.push(e);var s}))){h=!1;break}}else if(d!==y&&!o(d,y,r,n,i)){h=!1;break}}return i.delete(t),i.delete(e),h}function Zt(t){var e=-1,r=Array(t.size);return t.forEach((function(t,n){r[++e]=[n,t]})),r}function te(t){var e=-1,r=Array(t.size);return t.forEach((function(t){r[++e]=t})),r}var ee=v?v.prototype:void 0,re=ee?ee.valueOf:void 0;var ne=Object.prototype.hasOwnProperty;var oe,ie="[object Arguments]",se="[object Array]",ae="[object Object]",ce=Object.prototype.hasOwnProperty;function ue(t,e,r,n,o,i){var s=j(t),a=j(e),c=s?se:Jt(t),u=a?se:Jt(e),l=(c=c==ie?ae:c)==ae,p=(u=u==ie?ae:u)==ae,h=c==u;if(h&&nt(t)){if(!nt(e))return!1;s=!0,l=!1}if(h&&!l)return i||(i=new Rt),s||pt(t)?Kt(t,e,r,n,o,i):function(t,e,r,n,o,i,s){switch(r){case"[object DataView]":if(t.byteLength!=e.byteLength||t.byteOffset!=e.byteOffset)return!1;t=t.buffer,e=e.buffer;case"[object ArrayBuffer]":return!(t.byteLength!=e.byteLength||!i(new $t(t),new $t(e)));case"[object Boolean]":case"[object Date]":case"[object Number]":return Y(+t,+e);case"[object Error]":return t.name==e.name&&t.message==e.message;case"[object RegExp]":case"[object String]":return t==e+"";case"[object Map]":var a=Zt;case"[object Set]":var c=1&n;if(a||(a=te),t.size!=e.size&&!c)return!1;var u=s.get(t);if(u)return u==e;n|=2,s.set(t,e);var l=Kt(a(t),a(e),n,o,i,s);return s.delete(t),l;case"[object Symbol]":if(re)return re.call(t)==re.call(e)}return!1}(t,e,c,r,n,o,i);if(!(1&r)){var f=l&&ce.call(t,"__wrapped__"),d=p&&ce.call(e,"__wrapped__");if(f||d){var y=f?t.value():t,m=d?e.value():e;return i||(i=new Rt),o(y,m,r,n,i)}}return!!h&&(i||(i=new Rt),function(t,e,r,n,o,i){var s=1&r,a=Lt(t),c=a.length;if(c!=Lt(e).length&&!s)return!1;for(var u=c;u--;){var l=a[u];if(!(s?l in e:ne.call(e,l)))return!1}var p=i.get(t),h=i.get(e);if(p&&h)return p==e&&h==t;var f=!0;i.set(t,e),i.set(e,t);for(var d=s;++u<c;){var y=t[l=a[u]],m=e[l];if(n)var v=s?n(m,y,l,e,t,i):n(y,m,l,t,e,i);if(!(void 0===v?y===m||o(y,m,r,n,i):v)){f=!1;break}d||(d="constructor"==l)}if(f&&!d){var _=t.constructor,b=e.constructor;_==b||!("constructor"in t)||!("constructor"in e)||"function"==typeof _&&_ instanceof _&&"function"==typeof b&&b instanceof b||(f=!1)}return i.delete(t),i.delete(e),f}(t,e,r,n,o,i))}function le(t,e,r,n,o){return t===e||(null==t||null==e||!x(t)&&!x(e)?t!=t&&e!=e:ue(t,e,r,n,le,o))}function pe(t,e){return le(t,e)}t.OBSERVER_TYPE=void 0,(oe=t.OBSERVER_TYPE||(t.OBSERVER_TYPE={})).ADD="ADD",oe.REMOVE="REMOVE",oe.CHANGE="CHANGE";var he={},fe={},de={},ye={};function me(t,e){he[t.gameObject.id]||(he[t.gameObject.id]={});var r=he[t.gameObject.id],n=t.name+"_"+e.join(",");if(r[n])return r[n];for(var o=e.length-1,i=t,s=0;s<o;s++)i=i[e[s]];return r[n]={property:i,key:e[o]},r[n]}function ve(t){var e,r,n=t.systemName,o=t.componentName,i=t.component,s=t.prop,a=t.type;null===(r=null===(e=fe[n])||void 0===e?void 0:e.componentObserver)||void 0===r||r.add({component:i,prop:s,type:a,componentName:o})}function _e(e){var r,n,o=e.obj,i=e.key,s=e.prop,c=e.component,u=e.componentName;if(void 0!==o)if(i in o){if(Object.defineProperty(o,"_"+i,{enumerable:!1,writable:!0,value:o[i]}),s.deep&&k(o[i]))try{for(var l=a(Object.keys(o[i])),p=l.next();!p.done;p=l.next()){var h=p.value;_e({obj:o[i],key:h,prop:s,component:c,componentName:u})}}catch(t){r={error:t}}finally{try{p&&!p.done&&(n=l.return)&&n.call(l)}finally{if(r)throw r.error}}Object.defineProperty(o,i,{enumerable:!0,set:function(e){o["_"+i]!==e&&(o["_"+i]=e,function(e){var r=e.prop,n=e.component,o=e.componentName;for(var i in de){var s=(de[i]||{})[o];s&&s.findIndex((function(t){return pe(t,r)}))>-1&&ve({systemName:i,componentName:o,component:n,prop:r,type:t.OBSERVER_TYPE.CHANGE})}}({prop:s,component:c,componentName:u}))},get:function(){return o["_"+i]}})}else console.error("prop "+i+" not in component: "+u+", Can not observer")}function be(e,r){var n,o;for(var i in void 0===r&&(r=e.name),de){(de[i]||{})[r]&&(null===(o=null===(n=fe[i])||void 0===n?void 0:n.componentObserver)||void 0===o||o.add({component:e,type:t.OBSERVER_TYPE.REMOVE,componentName:r}))}!function(t){t.gameObject&&delete he[t.gameObject.id]}(e)}function ge(t,e){return t.constructor.IDEProps||(t.constructor.IDEProps={}),t.constructor.IDEProps[e]||(t.constructor.IDEProps[e]={}),t.constructor.IDEProps[e]}function we(t){return function(e,r){var n=ge(e,r);n.key=r,n.type=t}}function Ee(t){return function(e,r){ge(e,r).step=t}}var Oe=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e.name="Transform",e._parent=null,e.inScene=!1,e.children=[],e.position={x:0,y:0},e.size={width:0,height:0},e.origin={x:0,y:0},e.anchor={x:0,y:0},e.scale={x:1,y:1},e.skew={x:0,y:0},e.rotation=0,e}return n(e,t),e.prototype.init=function(t){var e,r;void 0===t&&(t={});try{for(var n=a(["position","size","origin","anchor","scale","skew"]),o=n.next();!o.done;o=n.next()){var i=o.value;_extends(this[i],t[i])}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}this.rotation=t.rotation||this.rotation},Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},set:function(t){t?t.addChild(this):this.parent&&this.parent.removeChild(this)},enumerable:!1,configurable:!0}),e.prototype.addChild=function(t){if(t.parent===this){var e=this.children.findIndex((function(e){return e===t}));this.children.splice(e,1)}else t.parent&&t.parent.removeChild(t);t._parent=this,this.children.push(t)},e.prototype.removeChild=function(t){var e=this.children.findIndex((function(e){return e===t}));e>-1&&(this.children.splice(e,1),t._parent=null)},e.prototype.clearChildren=function(){this.children.length=0},e.componentName="Transform",o([we("vector2"),Ee(1)],e.prototype,"position",void 0),o([we("size"),Ee(1)],e.prototype,"size",void 0),o([we("vector2"),Ee(.1)],e.prototype,"origin",void 0),o([we("vector2"),Ee(.1)],e.prototype,"anchor",void 0),o([we("vector2"),Ee(.1)],e.prototype,"scale",void 0),o([we("vector2"),Ee(.1)],e.prototype,"skew",void 0),o([we("number"),Ee(.1)],e.prototype,"rotation",void 0),e}(f),Te=Oe,xe=0;var je=function(){function e(t,e){this._componentCache={},this.components=[],this.destroyed=!1,this._name=t,this.id=++xe,this.addComponent(Te,e)}return Object.defineProperty(e.prototype,"transform",{get:function(){return this.getComponent(Te)},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(t){var e,r;if(this._scene!==t){var n=this._scene;if(this._scene=t,this.transform&&this.transform.children)try{for(var o=a(this.transform.children),i=o.next();!i.done;i=o.next()){i.value.gameObject.scene=t}}catch(t){e={error:t}}finally{try{i&&!i.done&&(r=o.return)&&r.call(o)}finally{if(e)throw e.error}}t?t.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,r){if(!this.destroyed){var n=function(t){return t instanceof h?t.name:t instanceof Function?t.componentName:void 0}(e);if(!this._componentCache[n]){var o;if(e instanceof Function)o=new e(r);else{if(!(e instanceof f))throw new Error("addComponent recieve Component and Component Constructor");o=e}if(o.gameObject)throw new Error("component has been added on gameObject "+o.gameObject.name);return o.gameObject=this,o.init&&o.init(o.__componentDefaultParams),function(e,r){var n,o;for(var i in void 0===r&&(r=e.name),de)(de[i]||{})[r]&&(null===(o=null===(n=fe[i])||void 0===n?void 0:n.componentObserver)||void 0===o||o.add({component:e,type:t.OBSERVER_TYPE.ADD,componentName:r}))}(o,o.name),function(t,e){var r,n;if(void 0===e&&(e=t.name),e&&ye[e]){if(!(t&&(o=t,o&&o.constructor&&"componentName"in o.constructor)))throw new Error("component param must be an instance of Component");var o;if(!t.gameObject||!t.gameObject.id)throw new Error("component should be add to a gameObject");try{for(var i=a(ye[e]),s=i.next();!s.done;s=i.next()){var c=s.value,u=me(t,c.prop);_e({obj:u.property,key:u.key,prop:c,component:t,componentName:e})}}catch(t){r={error:t}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}}}(o,o.name),this.components.push(o),this._componentCache[n]=o,o.awake&&o.awake(),o}}},e.prototype.removeComponent=function(t){var e;if("string"==typeof t?e=t:t instanceof f?e=t.name:t.componentName&&(e=t.componentName),"Transform"===e)throw new Error("Transform can't be removed");return this._removeComponent(e)},e.prototype._removeComponent=function(t){var e=this.components.findIndex((function(e){return e.name===t}));if(-1!==e){var r=this.components.splice(e,1)[0];return delete this._componentCache[t],delete r.__componentDefaultParams,r.onDestroy&&r.onDestroy(),be(r,t),r.gameObject=void 0,r}},e.prototype.getComponent=function(t){var e;return"string"==typeof t?e=t:t instanceof f?e=t.name:t.componentName&&(e=t.componentName),void 0!==this._componentCache[e]?this._componentCache[e]:void 0},e.prototype.remove=function(){if(this.parent)return this.parent.removeChild(this)},e.prototype.destroy=function(){if(this.transform){for(var t in Array.from(this.transform.children).forEach((function(t){t.gameObject.destroy()})),this.remove(),this.transform.clearChildren(),this._componentCache)this._removeComponent(t);this.components.length=0,this.destroyed=!0}else console.error("Cannot destroy gameObject that have already been destroyed.")},e}(),ke=function(){function e(){this.events=[]}return e.prototype.add=function(e){var r=e.component,n=e.prop,o=e.type,i=e.componentName;if(o===t.OBSERVER_TYPE.REMOVE){if(this.events.find((function(e){return e.component===r&&e.type===t.OBSERVER_TYPE.ADD})))return void(this.events=this.events.filter((function(t){return t.component!==r})));this.events=this.events.filter((function(t){return t.component!==r}))}var s=this.events.findIndex((function(t){return t.component===r&&pe(t.prop,n)&&t.type===o}));s>-1&&this.events.splice(s,1),this.events.push({gameObject:r.gameObject,component:r,prop:n,type:o,componentName:i})},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 t=this.events;return this.events=[],t},e}(),Ae=ke,Re=function(){function t(t){this.started=!1,this.componentObserver=new Ae,this.__systemDefaultParams=t,this.name=this.constructor.systemName}return t.prototype.destroy=function(){var t;this.componentObserver=null,this.__systemDefaultParams=null,null===(t=this.onDestroy)||void 0===t||t.call(this)},t}();var Pe,Se=Date.now?Date.now:function(){return(new Date).getTime()},Ce={originTime:0,playbackRate:1},Le=function(){function t(e,r){e instanceof t&&(r=e,e={}),e=_extends({},Ce,e),r&&(this._parent=r),this._createTime=Se(),this._timeMark=[{globalTime:this.globalTime,localTime:-e.originTime,entropy:-e.originTime,playbackRate:e.playbackRate,globalEntropy:0}],this._parent&&(this._timeMark[0].globalEntropy=this._parent.entropy),this._playbackRate=e.playbackRate}return Object.defineProperty(t.prototype,"globalTime",{get:function(){return this.parent?this.parent.currentTime:Se()-this._createTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"lastTimeMark",{get:function(){return this._timeMark[this._timeMark.length-1]},enumerable:!1,configurable:!0}),t.prototype.markTime=function(t){var e=void 0===t?{}:t,r=e.time,n=void 0===r?this.currentTime:r,o=e.entropy,i=void 0===o?this.entropy:o,s=e.playbackRate,a=void 0===s?this.playbackRate:s,c={globalTime:this.globalTime,localTime:n,entropy:i,playbackRate:a,globalEntropy:this.globalEntropy};this._timeMark.push(c)},Object.defineProperty(t.prototype,"currentTime",{get:function(){var t=this.lastTimeMark,e=t.localTime,r=t.globalTime;return e+(this.globalTime-r)*this.playbackRate},set:function(t){this.markTime({time:t})},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"globalEntropy",{get:function(){return this._parent?this._parent.entropy:this.globalTime},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"entropy",{get:function(){var t=this.lastTimeMark,e=t.entropy,r=t.globalEntropy;return e+Math.abs((this.globalEntropy-r)*this.playbackRate)},set:function(t){if(this.entropy>t){var e=this.seekTimeMark(t);this._timeMark.length=e+1}this.markTime({entropy:t})},enumerable:!1,configurable:!0}),t.prototype.fork=function(e){return new t(e,this)},t.prototype.seekGlobalTime=function(t){var e=this.seekTimeMark(t),r=this._timeMark[e],n=r.entropy,o=r.playbackRate;return r.globalTime+(t-n)/Math.abs(o)},t.prototype.seekLocalTime=function(t){var e=this.seekTimeMark(t),r=this._timeMark[e],n=r.localTime,o=r.entropy;return r.playbackRate>0?n+(t-o):n-(t-o)},t.prototype.seekTimeMark=function(t){var e=this._timeMark,r=0,n=e.length-1;if(t<=e[r].entropy)return r;if(t>=e[n].entropy)return n;for(var o=Math.floor((r+n)/2);o>r&&o<n;){if(t===e[o].entropy)return o;t<e[o].entropy?n=o:t>e[o].entropy&&(r=o),o=Math.floor((r+n)/2)}return r},Object.defineProperty(t.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(t){t!==this.playbackRate&&(this.markTime({playbackRate:t}),this._playbackRate=t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,"paused",{get:function(){if(0===this.playbackRate)return!0;for(var t=this.parent;t;){if(0===t.playbackRate)return!0;t=t.parent}return!1},enumerable:!1,configurable:!0}),t}(),Me={autoStart:!0,frameRate:60},De=function(){function t(t){var e=this;t=_extends({},Me,t),this._frameCount=0,this._frameDuration=1e3/t.frameRate,this.autoStart=t.autoStart,this.frameRate=t.frameRate,this.timeline=new Le({originTime:0,playbackRate:1}),this._lastFrameTime=this.timeline.currentTime,this._tickers=new Set,this._requestId=null,this._ticker=function(){e._started&&(e._requestId=requestAnimationFrame(e._ticker),e.update())},this.autoStart&&this.start()}return t.prototype.update=function(){var t,e,r=this.timeline.currentTime,n=r-this._lastFrameTime;if(n>=this._frameDuration){var o=r-n%this._frameDuration,i=o-this._lastFrameTime;this._lastFrameTime=o;var s={deltaTime:i,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/i)};try{for(var c=a(this._tickers),u=c.next();!u.done;u=c.next()){var l=u.value;"function"==typeof l&&l(s)}}catch(e){t={error:e}}finally{try{u&&!u.done&&(e=c.return)&&e.call(c)}finally{if(t)throw t.error}}}},t.prototype.add=function(t){this._tickers.add(t)},t.prototype.remove=function(t){this._tickers.delete(t)},t.prototype.start=function(){this._started||(this._started=!0,this.timeline.playbackRate=1,this._requestId=requestAnimationFrame(this._ticker))},t.prototype.pause=function(){this._started=!1,this.timeline.playbackRate=0},t.prototype.setPlaybackRate=function(t){this.timeline.playbackRate=t},t}(),Ie=De,Ne=function(t){function e(e,r){var n=t.call(this,e,r)||this;return n.gameObjects=[],n.scene=n,n}return n(e,t),e.prototype.addGameObject=function(t){this.gameObjects.push(t),t.transform&&(t.transform.inScene=!0)},e.prototype.removeGameObject=function(t){var e=this.gameObjects.indexOf(t);-1!==e&&(t.transform&&(t.transform.inScene=!1),this.gameObjects.splice(e,1))},e.prototype.destroy=function(){this.scene=null,t.prototype.destroy.call(this),this.gameObjects=null,this.canvas=null},e}(je);t.LOAD_SCENE_MODE=void 0,(Pe=t.LOAD_SCENE_MODE||(t.LOAD_SCENE_MODE={})).SINGLE="SINGLE",Pe.MULTI_CANVAS="MULTI_CANVAS";var Be=function(t){if((t instanceof Re||t instanceof f)&&!t.started){t.started=!0;try{t.start&&t.start()}catch(e){t instanceof f?console.error(t.constructor.componentName+" start error",e):console.error(t.constructor.systemName+" start error",e)}}},Ve=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.playing=!1,t.started=!1,t.multiScenes=[],t.systems=[],t}return n(r,e),r.prototype.init=function(t){var e=void 0===t?{}:t,r=e.systems,n=e.frameRate,o=void 0===n?60:n,c=e.autoStart,u=void 0===c||c,l=e.needScene,p=void 0===l||l;return i(this,void 0,void 0,(function(){var t,e,n,i,c,l;return s(this,(function(s){switch(s.label){case 0:if(window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=this),this.ticker=new Ie({autoStart:!1,frameRate:o}),this.initTicker(),!r||!r.length)return[3,8];s.label=1;case 1:s.trys.push([1,6,7,8]),t=a(r),e=t.next(),s.label=2;case 2:return e.done?[3,5]:(n=e.value,[4,this.addSystem(n)]);case 3:s.sent(),s.label=4;case 4:return e=t.next(),[3,2];case 5:return[3,8];case 6:return i=s.sent(),c={error:i},[3,8];case 7:try{e&&!e.done&&(l=t.return)&&l.call(t)}finally{if(c)throw c.error}return[7];case 8:return p&&this.loadScene(new Ne("scene")),u&&this.start(),[2]}}))}))},Object.defineProperty(r.prototype,"scene",{get:function(){return this._scene},set:function(t){this._scene=t},enumerable:!1,configurable:!0}),Object.defineProperty(r.prototype,"gameObjects",{get:function(){return function(t){var e,r,n,o=(null===(n=null==t?void 0:t.scene)||void 0===n?void 0:n.gameObjects)||[],i=null==t?void 0:t.multiScenes.map((function(t){return t.gameObjects})),s=[];try{for(var c=a(i),l=c.next();!l.done;l=c.next())s=u(s,l.value)}catch(t){e={error:t}}finally{try{l&&!l.done&&(r=c.return)&&r.call(c)}finally{if(e)throw e.error}}return u(o,s)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(t,e){return i(this,void 0,void 0,(function(){var r;return s(this,(function(n){switch(n.label){case 0:if(t instanceof Function)r=new t(e);else{if(!(t instanceof Re))return console.warn("can only add System"),[2];r=t}return this.systems.find((function(t){return t.constructor===r.constructor}))?(console.warn(r.constructor.systemName+" System has been added"),[2]):(r.game=this,r.init?[4,r.init(r.__systemDefaultParams)]:[3,2]);case 1:n.sent(),n.label=2;case 2:!function(t,e){de[e.systemName]=e.observerInfo,fe[e.systemName]=t}(r,r.constructor),function(t){var e,r,n,o,i=[];t instanceof Array?i.push.apply(i,u(t)):i.push(t);try{for(var s=a(i),c=s.next();!c.done;c=s.next()){var l=c.value;for(var p in l.observerInfo){ye[p]=ye[p]||[];var h=ye[p],f=function(t){-1===h.findIndex((function(e){return pe(e,t)}))&&ye[p].push(t)};try{for(var d=(n=void 0,a(l.observerInfo[p])),y=d.next();!y.done;y=d.next())f(y.value)}catch(t){n={error:t}}finally{try{y&&!y.done&&(o=d.return)&&o.call(d)}finally{if(n)throw n.error}}}}}catch(t){e={error:t}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(e)throw e.error}}}(r.constructor);try{r.awake&&r.awake()}catch(t){console.error(r.constructor.systemName+" awake error",t)}return this.systems.push(r),[2,r]}}))}))},r.prototype.removeSystem=function(t){if(t){var e=-1;"string"==typeof t?e=this.systems.findIndex((function(e){return e.name===t})):t instanceof Function?e=this.systems.findIndex((function(e){return e.constructor===t})):t instanceof Re&&(e=this.systems.findIndex((function(e){return e===t}))),e>-1&&(this.systems[e].destroy&&this.systems[e].destroy(),this.systems.splice(e,1))}},r.prototype.getSystem=function(t){return this.systems.find((function(e){return"string"==typeof t?e.name===t:e instanceof t}))},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 t=this;this.ticker.add((function(e){var r,n,o,i;t.scene&&function(t,e){var r,n,o,i,s,c,u,l;void 0===e&&(e=[]);try{for(var p=a(e),h=p.next();!h.done;h=p.next()){var f=h.value;try{for(var d=(o=void 0,a(f.components)),y=d.next();!y.done;y=d.next()){var m=y.value;try{Be(m),m.update&&m.update(t)}catch(t){console.error("gameObject: "+f.name+" "+m.name+" update error",t)}}}catch(t){o={error:t}}finally{try{y&&!y.done&&(i=d.return)&&i.call(d)}finally{if(o)throw o.error}}}}catch(t){r={error:t}}finally{try{h&&!h.done&&(n=p.return)&&n.call(p)}finally{if(r)throw r.error}}try{for(var v=a(e),_=v.next();!_.done;_=v.next()){f=_.value;try{for(var b=(u=void 0,a(f.components)),g=b.next();!g.done;g=b.next()){m=g.value;try{m.lateUpdate&&m.lateUpdate(t)}catch(t){console.error("gameObject: "+f.name+" "+m.name+" lateUpdate error",t)}}}catch(t){u={error:t}}finally{try{g&&!g.done&&(l=b.return)&&l.call(b)}finally{if(u)throw u.error}}}}catch(t){s={error:t}}finally{try{_&&!_.done&&(c=v.return)&&c.call(v)}finally{if(s)throw s.error}}}(e,t.gameObjects);try{for(var s=a(t.systems),c=s.next();!c.done;c=s.next()){var u=c.value;try{Be(u),u.update&&u.update(e)}catch(e){console.error(u.constructor.systemName+" update error",e)}}}catch(t){r={error:t}}finally{try{c&&!c.done&&(n=s.return)&&n.call(s)}finally{if(r)throw r.error}}try{for(var l=a(t.systems),p=l.next();!p.done;p=l.next()){u=p.value;try{u.lateUpdate&&u.lateUpdate(e)}catch(e){console.error(u.constructor.systemName+" lateUpdate error",e)}}}catch(t){o={error:t}}finally{try{p&&!p.done&&(i=l.return)&&i.call(l)}finally{if(o)throw o.error}}}))},r.prototype.triggerResume=function(){var t,e;!function(t){var e,r,n,o;try{for(var i=a(t),s=i.next();!s.done;s=i.next()){var c=s.value;try{for(var u=(n=void 0,a(c.components)),l=u.next();!l.done;l=u.next()){var p=l.value;try{p.onResume&&p.onResume()}catch(t){console.error("gameObject: "+c.name+", "+p.name+", onResume error",t)}}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}(this.gameObjects);try{for(var r=a(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onResume&&o.onResume()}catch(t){console.error(o.constructor.systemName+", onResume error",t)}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},r.prototype.triggerPause=function(){var t,e;!function(t){var e,r,n,o;try{for(var i=a(t),s=i.next();!s.done;s=i.next()){var c=s.value;try{for(var u=(n=void 0,a(c.components)),l=u.next();!l.done;l=u.next()){var p=l.value;try{p.onPause&&p.onPause()}catch(t){console.error("gameObject: "+c.name+", "+p.name+", onResume error",t)}}}catch(t){n={error:t}}finally{try{l&&!l.done&&(o=u.return)&&o.call(u)}finally{if(n)throw n.error}}}}catch(t){e={error:t}}finally{try{s&&!s.done&&(r=i.return)&&r.call(i)}finally{if(e)throw e.error}}}(this.gameObjects);try{for(var r=a(this.systems),n=r.next();!n.done;n=r.next()){var o=n.value;try{o.onPause&&o.onPause()}catch(t){console.error(o.constructor.systemName+", onPause error",t)}}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.error}}},r.prototype.destroySystems=function(){var t,e;try{for(var r=a(u(this.systems)),n=r.next();!n.done;n=r.next()){var o=n.value;this.removeSystem(o)}}catch(e){t={error:e}}finally{try{n&&!n.done&&(e=r.return)&&e.call(r)}finally{if(t)throw t.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 r=e.scene,n=e.mode,o=void 0===n?t.LOAD_SCENE_MODE.SINGLE:n,i=e.params,s=void 0===i?{}:i;if(r){switch(o){case t.LOAD_SCENE_MODE.SINGLE:this.scene=r;break;case t.LOAD_SCENE_MODE.MULTI_CANVAS:this.multiScenes.push(r)}this.emit("sceneChanged",{scene:r,mode:o,params:s})}},r}(p),Ue=Ve;function qe(t,e){t.constructor.IDEProps||(t.constructor.IDEProps=[]),t.constructor.IDEProps.push(e)}function Fe(t){return void 0===t&&(t={}),function(e){if(!e.observerInfo){for(var r in t)for(var n in t[r]){"string"==typeof t[r][n]&&(t[r][n]=[t[r][n]]);var o=void 0;Array.isArray(t[r][n])&&(o={prop:t[r][n],deep:!1},t[r][n]=o),"string"==typeof(o=t[r][n]).prop&&(o.prop=[o.prop])}e.observerInfo=t}}}var ze,Ge,Ye=function(e){function r(r){var n=r.resource,o=r.resourceTotal,i=e.call(this)||this;return i.progress=0,i.resourceTotal=0,i.resourceLoadedCount=0,i.resource=n,i.resourceTotal=o,0===o&&i.resource.emit(t.LOAD_EVENT.COMPLETE,i),i}return n(r,e),r.prototype.onStart=function(){this.resource.emit(t.LOAD_EVENT.START,this)},r.prototype.onProgress=function(e){this.resourceLoadedCount++,this.progress=Math.floor(this.resourceLoadedCount/this.resourceTotal*100)/100,e.success?this.resource.emit(t.LOAD_EVENT.LOADED,this,e):this.resource.emit(t.LOAD_EVENT.ERROR,this,e),this.resource.emit(t.LOAD_EVENT.PROGRESS,this,e),this.resourceLoadedCount===this.resourceTotal&&this.resource.emit(t.LOAD_EVENT.COMPLETE,this)},r}(p),He=Ye,Xe=function(){function t(t,e,r){void 0===e&&(e=!1),this.next=null,this.prev=null,this.owner=null,this.fn=t,this.once=e,this.thisArg=r}return t.prototype.detach=function(){return null!==this.owner&&(this.owner.detach(this),!0)},t.prototype.dispose=function(){this.detach()},t}(),Je=function(){function t(){this._head=null,this._tail=null,this._filter=null}return t.prototype.handlers=function(){for(var t=this._head,e=[];t;)e.push(t),t=t.next;return e},t.prototype.hasAny=function(){return!!this._head},t.prototype.has=function(t){return t.owner===this},t.prototype.dispatch=function(){for(var t=[],e=0;e<arguments.length;e++)t[e]=arguments[e];var r=this._head;if(!r)return!1;if(this._filter&&!this._filter.apply(this,t))return!1;for(;r;)r.once&&this.detach(r),r.fn.apply(r.thisArg,t),r=r.next;return!0},t.prototype.add=function(t,e){return void 0===e&&(e=null),this._addSignalBinding(new Xe(t,!1,e))},t.prototype.once=function(t,e){return void 0===e&&(e=null),this._addSignalBinding(new Xe(t,!0,e))},t.prototype.detach=function(t){var e=t;return e.owner!==this||(e.prev&&(e.prev.next=e.next),e.next&&(e.next.prev=e.prev),e===this._head?(this._head=e.next,null===e.next&&(this._tail=null)):e===this._tail&&(this._tail=e.prev,this._tail&&(this._tail.next=null)),e.owner=null),this},t.prototype.detachAll=function(){var t=this._head;if(!t)return this;for(this._head=null,this._tail=null;t;)t.owner=null,t=t.next;return this},t.prototype.filter=function(t){this._filter=t},t.prototype.proxy=function(){for(var t=this,e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];for(var n=function(){for(var e=[],r=0;r<arguments.length;r++)e[r]=arguments[r];return t.dispatch.apply(t,e)},o=0;o<e.length;++o)e[o].add(n);return this},t.prototype._addSignalBinding=function(t){var e=t;return this._head?(this._tail&&(this._tail.next=e),e.prev=this._tail,this._tail=e):(this._head=e,this._tail=e),e.owner=this,e},t}(),$e=(t,e={})=>{if(!t)return;const r={key:["source","protocol","authority","userInfo","user","password","host","port","relative","path","directory","file","query","anchor"],q:{name:"queryKey",parser:/(?:^|&)([^&=]*)=?([^&]*)/g},parser:{strict:/^(?:([^:/?#]+):)?(?:\/\/((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\d*))?))?((((?:[^?#/]*\/)*)([^?#]*))(?:\?([^#]*))?(?:#(.*))?)/,loose:/^(?:(?![^:@]+:[^:@/]*@)([^:/?#.]+):)?(?:\/\/)?((?:(([^:@]*)(?::([^:@]*))?)?@)?([^:/?#]*)(?::(\d*))?)(((\/(?:[^?#](?![^?#/]*\.[^?#/.]+(?:[?#]|$)))*\/?)?([^?#/]*))(?:\?([^#]*))?(?:#(.*))?)/}},n=r.parser[e.strictMode?"strict":"loose"].exec(t),o={};let i=14;for(;i--;)o[r.key[i]]=n[i]||"";return o[r.q.name]={},o[r.key[12]].replace(r.q.parser,(function(t,e,n){e&&(o[r.q.name][e]=n)})),o},Qe=function(t){this.config=t,this.onError=new Je,this.onComplete=new Je,this.onProgress=new Je},We=function(t,e){return We=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var r in e)e.hasOwnProperty(r)&&(t[r]=e[r])},We(t,e)};function Ke(t,e){function r(){this.constructor=t}We(t,e),t.prototype=null===e?Object.create(e):(r.prototype=e.prototype,new r)}function Ze(t){var e="";if(0===t.indexOf("data:")){var r=t.indexOf("/");e=t.substring(r+1,t.indexOf(";",r))}else{var n=t.indexOf("?"),o=t.indexOf("#"),i=Math.min(n>-1?n:t.length,o>-1?o:t.length);e=(t=t.substring(0,i)).substring(t.lastIndexOf(".")+1)}return e.toLowerCase()}function tr(t){throw new Error("Unexpected value. Should have been never.")}!function(t){t[t.Unknown=0]="Unknown",t[t.Buffer=1]="Buffer",t[t.Blob=2]="Blob",t[t.Json=3]="Json",t[t.Xml=4]="Xml",t[t.Image=5]="Image",t[t.Audio=6]="Audio",t[t.Video=7]="Video",t[t.Text=8]="Text"}(ze||(ze={})),function(t){t[t.NotStarted=0]="NotStarted",t[t.Loading=1]="Loading",t[t.Complete=2]="Complete"}(Ge||(Ge={}));var er,rr=function(t){function e(e,r){var n=t.call(this,e)||this;return n.elementType=r,n._boundOnLoad=n._onLoad.bind(n),n._boundOnError=n._onError.bind(n),n._boundOnTimeout=n._onTimeout.bind(n),n._element=n._createElement(),n._elementTimer=0,n}return Ke(e,t),e.prototype.load=function(){var t=this.config;t.crossOrigin&&(this._element.crossOrigin=t.crossOrigin);var e=t.sourceSet||[t.url];if(navigator.isCocoonJS)this._element.src=e[0];else for(var r=0;r<e.length;++r){var n=e[r],o=t.mimeTypes?t.mimeTypes[r]:void 0;o||(o=this.elementType+"/"+Ze(n));var i=document.createElement("source");i.src=n,i.type=o,this._element.appendChild(i)}this._element.addEventListener("load",this._boundOnLoad,!1),this._element.addEventListener("canplaythrough",this._boundOnLoad,!1),this._element.addEventListener("error",this._boundOnError,!1),this._element.load(),t.timeout&&(this._elementTimer=window.setTimeout(this._boundOnTimeout,t.timeout))},e.prototype.abort=function(){for(this._clearEvents();this._element.firstChild;)this._element.removeChild(this._element.firstChild);this._error(this.elementType+" load aborted by the user.")},e.prototype._createElement=function(){return this.config.loadElement?this.config.loadElement:document.createElement(this.elementType)},e.prototype._clearEvents=function(){clearTimeout(this._elementTimer),this._element.removeEventListener("load",this._boundOnLoad,!1),this._element.removeEventListener("canplaythrough",this._boundOnLoad,!1),this._element.removeEventListener("error",this._boundOnError,!1)},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(){this._clearEvents();var t=ze.Unknown;switch(this.elementType){case"audio":t=ze.Audio;break;case"video":t=ze.Video;break;default:tr(this.elementType)}this.onComplete.dispatch(t,this._element)},e.prototype._onLoad=function(){this._complete()},e.prototype._onError=function(){this._error(this.elementType+" failed to load.")},e.prototype._onTimeout=function(){this._error(this.elementType+" load timed out.")},e}(Qe),nr=function(t){function e(e){return t.call(this,e,"audio")||this}return Ke(e,t),e}(rr),or=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._boundOnLoad=e._onLoad.bind(e),e._boundOnError=e._onError.bind(e),e._boundOnTimeout=e._onTimeout.bind(e),e._element=e._createElement(),e._elementTimer=0,e}return Ke(e,t),e.prototype.load=function(){var t=this.config;t.crossOrigin&&(this._element.crossOrigin=t.crossOrigin),this._element.src=t.url,this._element.addEventListener("load",this._boundOnLoad,!1),this._element.addEventListener("error",this._boundOnError,!1),t.timeout&&(this._elementTimer=window.setTimeout(this._boundOnTimeout,t.timeout))},e.prototype.abort=function(){this._clearEvents(),this._element.src="data:image/gif;base64,R0lGODlhAQABAIAAAP///wAAACH5BAEAAAAALAAAAAABAAEAAAICRAEAOw==",this._error("Image load aborted by the user.")},e.prototype._createElement=function(){return this.config.loadElement?this.config.loadElement:document.createElement("img")},e.prototype._clearEvents=function(){clearTimeout(this._elementTimer),this._element.removeEventListener("load",this._boundOnLoad,!1),this._element.removeEventListener("error",this._boundOnError,!1)},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(){this._clearEvents(),this.onComplete.dispatch(ze.Image,this._element)},e.prototype._onLoad=function(){this._complete()},e.prototype._onError=function(){this._error("Image failed to load.")},e.prototype._onTimeout=function(){this._error("Image load timed out.")},e}(Qe),ir=function(t){function e(e){return t.call(this,e,"video")||this}return Ke(e,t),e}(rr),sr=!(!window.XDomainRequest||"withCredentials"in new XMLHttpRequest);function ar(t){return t.toString().replace("object ","")}!function(t){t.Default="text",t.Buffer="arraybuffer",t.Blob="blob",t.Document="document",t.Json="json",t.Text="text"}(er||(er={}));var cr=function(t){function e(){var e=null!==t&&t.apply(this,arguments)||this;return e._boundOnLoad=e._onLoad.bind(e),e._boundOnAbort=e._onAbort.bind(e),e._boundOnError=e._onError.bind(e),e._boundOnTimeout=e._onTimeout.bind(e),e._boundOnProgress=e._onProgress.bind(e),e._xhr=e._createRequest(),e._xhrType=er.Default,e}return Ke(e,t),e.prototype.load=function(){var t=this.config,e=Ze(t.url);"string"!=typeof t.xhrType&&(t.xhrType=this._determineXhrType(e));var r=this._xhr;this._xhrType=t.xhrType||er.Default,sr?(r.timeout=t.timeout||5e3,r.onload=this._boundOnLoad,r.onerror=this._boundOnError,r.ontimeout=this._boundOnTimeout,r.onprogress=this._boundOnProgress,r.open("GET",t.url,!0),setTimeout((function(){r.send()}),0)):(r.open("GET",t.url,!0),t.timeout&&(r.timeout=t.timeout),t.xhrType===er.Json||t.xhrType===er.Document?r.responseType=er.Text:r.responseType=t.xhrType,r.addEventListener("load",this._boundOnLoad,!1),r.addEventListener("abort",this._boundOnAbort,!1),r.addEventListener("error",this._boundOnError,!1),r.addEventListener("timeout",this._boundOnTimeout,!1),r.addEventListener("progress",this._boundOnProgress,!1),r.send())},e.prototype.abort=function(){sr?(this._clearEvents(),this._xhr.abort(),this._onAbort()):this._xhr.abort()},e.prototype._createRequest=function(){return sr?new window.XDomainRequest:new XMLHttpRequest},e.prototype._determineXhrType=function(t){return e._xhrTypeMap[t]||er.Default},e.prototype._clearEvents=function(){sr?(this._xhr.onload=null,this._xhr.onerror=null,this._xhr.ontimeout=null,this._xhr.onprogress=null):(this._xhr.removeEventListener("load",this._boundOnLoad,!1),this._xhr.removeEventListener("abort",this._boundOnAbort,!1),this._xhr.removeEventListener("error",this._boundOnError,!1),this._xhr.removeEventListener("timeout",this._boundOnTimeout,!1),this._xhr.removeEventListener("progress",this._boundOnProgress,!1))},e.prototype._error=function(t){this._clearEvents(),this.onError.dispatch(t)},e.prototype._complete=function(t,e){this._clearEvents(),this.onComplete.dispatch(t,e)},e.prototype._onLoad=function(){var t=this._xhr,e="",r=void 0===t.status?200:t.status;if(void 0!==t.responseType&&""!==t.responseType&&"text"!==t.responseType||(e=t.responseText),0===r&&(e.length>0||t.responseType===er.Buffer)?r=200:1223===r&&(r=204),200===100*Math.floor(r/100))switch(this._xhrType){case er.Buffer:this._complete(ze.Buffer,t.response);break;case er.Blob:this._complete(ze.Blob,t.response);break;case er.Document:this._parseDocument(e);break;case er.Json:this._parseJson(e);break;case er.Default:case er.Text:this._complete(ze.Text,e);break;default:tr(this._xhrType)}else this._error("["+t.status+"] "+t.statusText+": "+t.responseURL)},e.prototype._parseDocument=function(t){try{if(window.DOMParser){var e=(new DOMParser).parseFromString(t,"text/xml");this._complete(ze.Xml,e)}else{var r=document.createElement("div");r.innerHTML=t,this._complete(ze.Xml,r)}}catch(t){this._error("Error trying to parse loaded xml: "+t)}},e.prototype._parseJson=function(t){try{var e=JSON.parse(t);this._complete(ze.Json,e)}catch(t){this._error("Error trying to parse loaded json: "+t)}},e.prototype._onAbort=function(){var t=this._xhr;this._error(ar(t)+" Request was aborted by the user.")},e.prototype._onError=function(){var t=this._xhr;this._error(ar(t)+" Request failed. Status: "+t.status+', text: "'+t.statusText+'"')},e.prototype._onTimeout=function(){var t=this._xhr;this._error(ar(t)+" Request timed out.")},e.prototype._onProgress=function(t){t&&t.lengthComputable&&this.onProgress.dispatch(t.loaded/t.total)},e.setExtensionXhrType=function(t,r){t&&0===t.indexOf(".")&&(t=t.substring(1)),t&&(e._xhrTypeMap[t]=r)},e.ResponseType=er,e._xhrTypeMap={xhtml:er.Document,html:er.Document,htm:er.Document,xml:er.Document,tmx:er.Document,svg:er.Document,tsx:er.Document,gif:er.Blob,png:er.Blob,bmp:er.Blob,jpg:er.Blob,jpeg:er.Blob,tif:er.Blob,tiff:er.Blob,webp:er.Blob,tga:er.Blob,json:er.Json,text:er.Text,txt:er.Text,ttf:er.Buffer,otf:er.Buffer},e}(Qe);function ur(t){var e=t;return function(){for(var t=[],r=0;r<arguments.length;r++)t[r]=arguments[r];if(null===e)throw new Error("Callback was already called.");var n=e;return e=null,n.apply(this,t)}}var lr=function(){function t(t,e){if(void 0===e&&(e=1),this.worker=t,this.concurrency=e,this.workers=0,this.buffer=0,this.paused=!1,this._started=!1,this._tasks=[],this.onSaturated=new Je,this.onUnsaturated=new Je,this.onEmpty=new Je,this.onDrain=new Je,this.onError=new Je,0===e)throw new Error("Concurrency must not be zero");this.buffer=e/4}return Object.defineProperty(t.prototype,"started",{get:function(){return this._started},enumerable:!0,configurable:!0}),t.prototype.reset=function(){this.onDrain.detachAll(),this.workers=0,this._started=!1,this._tasks=[]},t.prototype.push=function(t,e){this._insert(t,!1,e)},t.prototype.unshift=function(t,e){this._insert(t,!0,e)},t.prototype.process=function(){for(;!this.paused&&this.workers<this.concurrency&&this._tasks.length;){var t=this._tasks.shift();0===this._tasks.length&&this.onEmpty.dispatch(),this.workers+=1,this.workers===this.concurrency&&this.onSaturated.dispatch(),this.worker(t.data,ur(this._next(t)))}},t.prototype.length=function(){return this._tasks.length},t.prototype.running=function(){return this.workers},t.prototype.idle=function(){return this._tasks.length+this.workers===0},t.prototype.pause=function(){!0!==this.paused&&(this.paused=!0)},t.prototype.resume=function(){if(!1!==this.paused){this.paused=!1;for(var t=1;t<=this.concurrency;t++)this.process()}},t.prototype.getTask=function(t){return this._tasks[t]},t.prototype._insert=function(t,e,r){var n=this;if(null!=r&&"function"!=typeof r)throw new Error("task callback must be a function");if(this._started=!0,null==t&&this.idle())setTimeout((function(){return n.onDrain.dispatch()}),1);else{var o={data:t,callback:r};e?this._tasks.unshift(o):this._tasks.push(o),setTimeout((function(){return n.process()}),1)}},t.prototype._next=function(t){var e=this;return function(r){for(var n=[],o=1;o<arguments.length;o++)n[o-1]=arguments[o];e.workers-=1,t.callback&&t.callback.apply(t,function(){for(var t=0,e=0,r=arguments.length;e<r;e++)t+=arguments[e].length;var n=Array(t),o=0;for(e=0;e<r;e++)for(var i=arguments[e],s=0,a=i.length;s<a;s++,o++)n[o]=i[s];return n}([r],n)),r&&e.onError.dispatch(r,t.data),e.workers<=e.concurrency-e.buffer&&e.onUnsaturated.dispatch(),e.idle()&&e.onDrain.dispatch(),e.process()}},t}(),pr=function(){function t(e,r){if(this.children=[],this.onStart=new Je,this.onProgress=new Je,this.onComplete=new Je,this.onAfterMiddleware=new Je,this.data=null,this.type=ze.Unknown,this.error="",this.progressChunk=0,this._dequeue=function(){},this._onCompleteBinding=null,this._state=Ge.NotStarted,this.name=e,this.metadata=r.metadata,"string"!=typeof r.crossOrigin&&(r.crossOrigin=this._determineCrossOrigin(r.url)),r.strategy&&"function"!=typeof r.strategy)this._strategy=r.strategy,this._strategy.config=r;else{var n=r.strategy;n||(n=t._loadStrategyMap[Ze(r.url)]),n||(n=t._defaultLoadStrategy),this._strategy=new n(r)}this._strategy.onError.add(this._error,this),this._strategy.onComplete.add(this._complete,this),this._strategy.onProgress.add(this._progress,this)}return t.setDefaultLoadStrategy=function(e){t._defaultLoadStrategy=e},t.setLoadStrategy=function(e,r){e&&0===e.indexOf(".")&&(e=e.substring(1)),e&&(t._loadStrategyMap[e]=r)},Object.defineProperty(t.prototype,"strategy",{get:function(){return this._strategy},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"url",{get:function(){return this._strategy.config.url},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isLoading",{get:function(){return this._state===Ge.Loading},enumerable:!0,configurable:!0}),Object.defineProperty(t.prototype,"isComplete",{get:function(){return this._state===Ge.Complete},enumerable:!0,configurable:!0}),t.prototype.abort=function(){this._strategy.abort()},t.prototype.load=function(){this._state=Ge.Loading,this.onStart.dispatch(this),this._strategy.load()},t.prototype._error=function(t){this._state=Ge.Complete,this.error=t,this.onComplete.dispatch(this)},t.prototype._complete=function(t,e){this._state=Ge.Complete,this.type=t,this.data=e,this.onComplete.dispatch(this)},t.prototype._progress=function(t){this.onProgress.dispatch(this,t)},t.prototype._determineCrossOrigin=function(e,r){if(void 0===r&&(r=window.location),0===e.indexOf("data:")||0===e.indexOf("javascript:"))return"";if(window.origin!==window.location.origin)return"anonymous";t._tempAnchor||(t._tempAnchor=document.createElement("a")),t._tempAnchor.href=e;var n=$e(t._tempAnchor.href,{strictMode:!0}),o=!n.port&&""===r.port||n.port===r.port,i=n.protocol?n.protocol+":":"";return n.host===r.hostname&&o&&i===r.protocol?"":"anonymous"},t._tempAnchor=null,t._defaultLoadStrategy=cr,t._loadStrategyMap={gif:or,png:or,bmp:or,jpg:or,jpeg:or,tif:or,tiff:or,webp:or,tga:or,svg:or,"svg+xml":or,mp3:nr,ogg:nr,wav:nr,mp4:ir,webm:ir,mov:ir},t}();var hr,fr,dr=/(#[\w-]+)?$/,yr=function(){function t(e,r){void 0===e&&(e=""),void 0===r&&(r=10),this.progress=0,this.loading=!1,this.defaultQueryString="",this.resources={},this.onError=new Je,this.onLoad=new Je,this.onStart=new Je,this.onComplete=new Je,this.onProgress=new Je,this._baseUrl="",this._urlResolvers=[],this._middleware=[],this._resourcesParsing=[],this._boundLoadResource=this._loadResource.bind(this),this.baseUrl=e,this._queue=new lr(this._boundLoadResource,r),this._queue.pause(),this._middleware=t._defaultMiddleware.slice()}return Object.defineProperty(t.prototype,"baseUrl",{get:function(){return this._baseUrl},set:function(t){for(;t.length&&"/"===t.charAt(t.length-1);)t=t.slice(0,-1);this._baseUrl=t},enumerable:!0,configurable:!0}),t.prototype.add=function(t,e){if(Array.isArray(t)){for(var r=0;r<t.length;++r)this.add(t[r]);return this}var n="",o="",i=this._baseUrl,s={url:""};if("object"==typeof t?(n=t.url,o=t.name||t.url,i=t.baseUrl||i,s=t):(o=t,n="string"==typeof e?e:o),!n)throw new Error("You must specify the `url` property.");if(this.loading&&!s.parentResource)throw new Error("Cannot add root resources while the loader is running.");if(this.resources[o])throw new Error('Resource named "'+o+'" already exists.');n=this._prepareUrl(n,i),s.url=n;var a=new pr(o,s);if(this.resources[o]=a,"function"==typeof s.onComplete&&a.onAfterMiddleware.once(s.onComplete),this.loading){var c=s.parentResource,u=[];for(r=0;r<c.children.length;++r)c.children[r].isComplete||u.push(c.children[r]);var l=c.progressChunk*(u.length+1)/(u.length+2);c.children.push(a),c.progressChunk=l;for(r=0;r<u.length;++r)u[r].progressChunk=l;a.progressChunk=l}return this._queue.push(a),this},t.prototype.use=function(e,r){return void 0===r&&(r=t.DefaultMiddlewarePriority),this._middleware.push({fn:e,priority:r}),this._middleware.sort((function(t,e){return t.priority-e.priority})),this},t.prototype.reset=function(){for(var t in this.progress=0,this.loading=!1,this._queue.reset(),this._queue.pause(),this.resources){var e=this.resources[t];e&&(e._onCompleteBinding&&e._onCompleteBinding.detach(),e.isLoading&&e.abort())}return this.resources={},this},t.prototype.load=function(t){if("function"==typeof t&&this.onComplete.once(t),this.loading)return this;if(this._queue.idle())this._onStart(),this._onComplete();else{for(var e=100/this._queue.length(),r=0;r<this._queue.length();++r)this._queue.getTask(r).data.progressChunk=e;this._onStart(),this._queue.resume()}return this},Object.defineProperty(t.prototype,"concurrency",{get:function(){return this._queue.concurrency},set:function(t){this._queue.concurrency=t},enumerable:!0,configurable:!0}),t.prototype.addUrlResolver=function(t){return this._urlResolvers.push(t),this},t.prototype._prepareUrl=function(t,e){var r=$e(t,{strictMode:!0});if(this._urlResolvers.forEach((function(e){t=e(t,r),r=$e(t,{strictMode:!0})})),r.protocol||0===t.indexOf("//")||(t=e.length&&"/"!==t.charAt(0)?e+"/"+t:e+t),this.defaultQueryString){var n=dr.exec(t);if(n){var o=n[0];-1!==(t=t.substr(0,t.length-o.length)).indexOf("?")?t+="&"+this.defaultQueryString:t+="?"+this.defaultQueryString,t+=o}}return t},t.prototype._loadResource=function(t,e){t._dequeue=e,t._onCompleteBinding=t.onComplete.once(this._onLoad,this),t.load()},t.prototype._onStart=function(){this.progress=0,this.loading=!0,this.onStart.dispatch(this)},t.prototype._onComplete=function(){this.progress=100,this.loading=!1,this.onComplete.dispatch(this,this.resources)},t.prototype._onLoad=function(t){var e=this;t._onCompleteBinding=null,this._resourcesParsing.push(t),t._dequeue(),function(t,e,r,n){void 0===n&&(n=!1);var o=0,i=t.length;!function s(a){a||o===i?r&&r(a):n?setTimeout((function(){return e(t[o++],s)}),1):e(t[o++],s)}()}(this._middleware,(function(r,n){r.fn.call(e,t,n)}),(function(){t.onAfterMiddleware.dispatch(t),e.progress=Math.min(100,e.progress+t.progressChunk),e.onProgress.dispatch(e,t),t.error?e.onError.dispatch(t.error,e,t):e.onLoad.dispatch(e,t),e._resourcesParsing.splice(e._resourcesParsing.indexOf(t),1),e._queue.idle()&&0===e._resourcesParsing.length&&e._onComplete()}),!0)},t.use=function(e,r){return void 0===r&&(r=t.DefaultMiddlewarePriority),t._defaultMiddleware.push({fn:e,priority:r}),t._defaultMiddleware.sort((function(t,e){return t.priority-e.priority})),t},t.DefaultMiddlewarePriority=50,t._defaultMiddleware=[],t}(),mr={AbstractLoadStrategy:Qe,AudioLoadStrategy:nr,ImageLoadStrategy:or,XhrResponseType:er,MediaElementLoadStrategy:rr,VideoLoadStrategy:ir,Loader:yr,Resource:pr,ResourceType:ze,ResourceState:Ge};t.LOAD_EVENT=void 0,(hr=t.LOAD_EVENT||(t.LOAD_EVENT={})).START="start",hr.PROGRESS="progress",hr.LOADED="loaded",hr.COMPLETE="complete",hr.ERROR="error",t.RESOURCE_TYPE=void 0,(fr=t.RESOURCE_TYPE||(t.RESOURCE_TYPE={})).IMAGE="IMAGE",fr.SPRITE="SPRITE",fr.SPRITE_ANIMATION="SPRITE_ANIMATION",fr.AUDIO="AUDIO",fr.VIDEO="VIDEO";var vr=function(r){function o(t){var e=r.call(this)||this;return e.timeout=6e3,e.preProcessResourceHandlers=[],e.resourcesMap={},e.makeInstanceFunctions={},e.destroyInstanceFunctions={},e.promiseMap={},t&&"number"==typeof t.timeout&&(e.timeout=t.timeout),e}return n(o,r),o.prototype.loadConfig=function(t){this.addResource(t),this.preload()},o.prototype.loadSingle=function(t){return this.addResource([t]),this.getResource(t.name)},o.prototype.addResource=function(t){var e,r;if(!t||t.length<1)console.warn("no resources");else try{for(var n=a(t),o=n.next();!o.done;o=n.next()){var i=o.value;this.resourcesMap[i.name]?console.warn(i.name+" was already added"):(this.resourcesMap[i.name]=i,this.resourcesMap[i.name].data={})}}catch(t){e={error:t}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(e)throw e.error}}},o.prototype.addPreProcessResourceHandler=function(t){this.preProcessResourceHandlers.push(t)},o.prototype.removePreProcessResourceHandler=function(t){this.preProcessResourceHandlers.splice(this.preProcessResourceHandlers.indexOf(t),1)},o.prototype.preload=function(){var t=[];for(var e in this.resourcesMap){var r=this.resourcesMap[e];!r.preload||r.complete||this.promiseMap[e]||t.push(r.name)}this.progress=new He({resource:this,resourceTotal:t.length}),this.loadResource({names:t,preload:!0})},o.prototype.getResource=function(t){return i(this,void 0,void 0,(function(){return s(this,(function(e){return this.loadResource({names:[t]}),[2,this.promiseMap[t]||Promise.resolve({})]}))}))},o.prototype.instance=function(t){return i(this,void 0,void 0,(function(){var e,r;return s(this,(function(n){switch(n.label){case 0:return e=this.resourcesMap[t],(r=this.makeInstanceFunctions[e.type])?[4,this.makeInstanceFunctions[e.type](e)]:[3,2];case 1:r=n.sent(),n.label=2;case 2:return[2,r]}}))}))},o.prototype.destroy=function(t){return i(this,void 0,void 0,(function(){return s(this,(function(e){switch(e.label){case 0:return[4,this._destroy(t)];case 1:return e.sent(),[2]}}))}))},o.prototype._destroy=function(t,e){return void 0===e&&(e=!1),i(this,void 0,void 0,(function(){var r,n;return s(this,(function(o){switch(o.label){case 0:if(!(r=this.resourcesMap[t]))return[2];if(e)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[t],r.data={},r.complete=!1,r.instance=void 0,[2]}}))}))},o.prototype.registerResourceType=function(e,r){if(void 0===r&&(r=e),t.RESOURCE_TYPE[e])throw new Error("The type "+e+" already exists in RESOURCE_TYPE");t.RESOURCE_TYPE[e]=r},o.prototype.registerInstance=function(t,e){this.makeInstanceFunctions[t]=e},o.prototype.registerDestroy=function(t,e){this.destroyInstanceFunctions[t]=e},o.prototype.loadResource=function(t){var r=this,n=t.names,o=void 0===n?[]:n,i=t.preload,s=void 0!==i&&i,c=o.filter((function(t){return!r.promiseMap[t]&&r.resourcesMap[t]}));if(c.length){var u={};c.forEach((function(t){var n,o,i;r.promiseMap[t]=new Promise((function(e){return u[t]=e}));var c=r.resourcesMap[t];try{for(var l=a(r.preProcessResourceHandlers),p=l.next();!p.done;p=l.next()){(0,p.value)(c)}}catch(t){n={error:t}}finally{try{p&&!p.done&&(o=l.return)&&o.call(l)}finally{if(n)throw n.error}}var h=function(n){if("data"===c.src[n].type)c.data[n]=c.src[n].data,r.doComplete(t,u[t],s);else{var o=null===(i=c.src[n])||void 0===i?void 0:i.url;"string"==typeof o&&o.startsWith("//")&&(o=""+window.location.protocol+c.src[n].url),"atlas"===n?e.Assets.add({alias:o,src:o,data:{resolve:function(){return e.Assets.load(c.src.image.url)}}}):e.Assets.add({alias:o,src:o}),e.Assets.load(o).then((function(e){r.onLoad({preload:s,resource:{metadata:{key:n,name:t,resolves:u},data:e}})})).catch((function(e){console.log(">>>E",e),r.onError({preload:s,errMsg:e.message,resource:{metadata:{key:n,name:t,resolves:u}}})}))}};for(var f in c.src)h(f)}))}},o.prototype.doComplete=function(t,e,r){return void 0===r&&(r=!1),i(this,void 0,void 0,(function(){var n,o,i,a;return s(this,(function(s){switch(s.label){case 0:if(n=this.resourcesMap[t],o={name:t,resource:this.resourcesMap[t],success:!0},!this.checkAllLoaded(t))return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),i=n,[4,this.instance(t)];case 2:return i.instance=s.sent(),n.complete=!0,r&&this.progress.onProgress(o),e(n),[3,4];case 3:return a=s.sent(),console.error(a),n.complete=!1,r&&(o.errMsg=a.message,o.success=!1,this.progress.onProgress(o)),e({}),[3,4];case 4:return[2]}}))}))},o.prototype.checkAllLoaded=function(t){var e=this.resourcesMap[t];return Array.from(Object.keys(e.src)).every((function(t){return e.data[t]}))},o.prototype.getLoader=function(t){},o.prototype.onLoad=function(t){var e=t.preload,r=void 0!==e&&e,n=t.resource;return i(this,void 0,void 0,(function(){var t,e,o,i,a;return s(this,(function(s){return t=n.metadata,e=t.key,o=t.name,i=t.resolves,a=n.data,this.resourcesMap[o].data[e]=a,this.doComplete(o,i[o],r),[2]}))}))},o.prototype.onError=function(t){var e=t.errMsg,r=t.preload,n=void 0!==r&&r,o=t.resource;return i(this,void 0,void 0,(function(){var t,r,i,a;return s(this,(function(s){return t=o.metadata,r=t.name,i=t.resolves,this._destroy(r,!0),i[r]({}),n&&(a={name:r,resource:this.resourcesMap[r],success:!1,errMsg:e},this.progress.onProgress(a)),[2]}))}))},o}(p),_r=new vr,br={IDEProp:qe,componentObserver:Fe},gr="2.0.0-beta.1";console.log("Eva.js version: "+gr);return t.Component=f,t.Game=Ue,t.GameObject=je,t.IDEProp=qe,t.RESOURCE_TYPE_STRATEGY={},t.Scene=Ne,t.System=Re,t.Transform=Te,t.componentObserver=Fe,t.decorators=br,t.resource=_r,t.resourceLoader=mr,t.version=gr,Object.defineProperty(t,"__esModule",{value:!0}),t}({},PIXI);window.EVA=window.EVA||_EVA_IIFE_EVA;
@@ -1795,6 +1795,21 @@ var Resource = (function (_super) {
1795
1795
  if (typeof url === 'string' && url.startsWith('//')) {
1796
1796
  url = "" + window.location.protocol + res.src[key].url;
1797
1797
  }
1798
+ if (key === 'atlas') {
1799
+ pixi_js.Assets.add({
1800
+ alias: url,
1801
+ src: url,
1802
+ data: {
1803
+ resolve: function () { return pixi_js.Assets.load(res.src['image'].url); },
1804
+ },
1805
+ });
1806
+ }
1807
+ else {
1808
+ pixi_js.Assets.add({
1809
+ alias: url,
1810
+ src: url,
1811
+ });
1812
+ }
1798
1813
  pixi_js.Assets.load(url)
1799
1814
  .then(function (data) {
1800
1815
  _this.onLoad({
@@ -1913,7 +1928,7 @@ var decorators = {
1913
1928
  IDEProp: IDEProp,
1914
1929
  componentObserver: componentObserver,
1915
1930
  };
1916
- var version = '2.0.0-beta.0';
1931
+ var version = '2.0.0-beta.1';
1917
1932
  console.log("Eva.js version: " + version);
1918
1933
  var RESOURCE_TYPE_STRATEGY = {};
1919
1934
 
@@ -12,4 +12,4 @@ MERCHANTABLITY OR NON-INFRINGEMENT.
12
12
 
13
13
  See the Apache Version 2.0 License for specific language governing permissions
14
14
  and limitations under the License.
15
- ***************************************************************************** */function c(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function u(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function p(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(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(i,s)}c((n=n.apply(e,t||[])).next())}))}function l(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)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 i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}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,s])}}}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 h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.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 i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}var y,d=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 c(t,e),t}(i),v=d;exports.OBSERVER_TYPE=void 0,(y=exports.OBSERVER_TYPE||(exports.OBSERVER_TYPE={})).ADD="ADD",y.REMOVE="REMOVE",y.CHANGE="CHANGE";var b={},g={},E={},_={};function O(e,t){b[e.gameObject.id]||(b[e.gameObject.id]={});var r=b[e.gameObject.id],n=e.name+"_"+t.join(",");if(r[n])return r[n];for(var o=t.length-1,a=e,i=0;i<o;i++)a=a[t[i]];return r[n]={property:a,key:t[o]},r[n]}function R(e){var t,r,n=e.systemName,o=e.componentName,a=e.component,i=e.prop,s=e.type;null===(r=null===(t=g[n])||void 0===t?void 0:t.componentObserver)||void 0===r||r.add({component:a,prop:i,type:s,componentName:o})}function x(e){var r,n,o=e.obj,a=e.key,i=e.prop,s=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]}),i.deep&&t.isObject(o[a]))try{for(var u=f(Object.keys(o[a])),p=u.next();!p.done;p=u.next()){var l=p.value;x({obj:o[a],key:l,prop:i,component:s,componentName:c})}}catch(e){r={error:e}}finally{try{p&&!p.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 E){var i=(E[a]||{})[o];i&&i.findIndex((function(e){return t.isEqual(e,r)}))>-1&&R({systemName:a,componentName:o,component:n,prop:r,type:exports.OBSERVER_TYPE.CHANGE})}}({prop:i,component:s,componentName:c}))},get:function(){return o["_"+a]}})}else console.error("prop "+a+" not in component: "+c+", Can not observer")}function T(e,t){var r,n;for(var o in void 0===t&&(t=e.name),E){(E[o]||{})[t]&&(null===(n=null===(r=g[o])||void 0===r?void 0:r.componentObserver)||void 0===n||n.add({component:e,type:exports.OBSERVER_TYPE.REMOVE,componentName:t}))}!function(e){e.gameObject&&delete b[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 c(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",u([r.type("vector2"),r.step(1)],t.prototype,"position",void 0),u([r.type("size"),r.step(1)],t.prototype,"size",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"origin",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"anchor",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"scale",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"skew",void 0),u([r.type("number"),r.step(.1)],t.prototype,"rotation",void 0),t}(v),k=0;var S=function(){function e(e,t){this._componentCache={},this.components=[],this.destroyed=!1,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){if(!this.destroyed){var r=function(e){return e instanceof d?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 v))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){var r,n;for(var o in void 0===t&&(t=e.name),E)(E[o]||{})[t]&&(null===(n=null===(r=g[o])||void 0===r?void 0:r.componentObserver)||void 0===n||n.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&&_[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(_[t]),i=a.next();!i.done;i=a.next()){var s=i.value,c=O(e,s.prop);x({obj:c.property,key:c.key,prop:s,component:e,componentName:t})}}catch(e){r={error:e}}finally{try{i&&!i.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 v?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(),T(r,e),r.gameObject=void 0,r}},e.prototype.getComponent=function(e){var t;return"string"==typeof e?t=e:e instanceof v?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(){if(this.transform){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,this.destroyed=!0}else console.error("Cannot destroy gameObject that have already been destroyed.")},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;if(o===exports.OBSERVER_TYPE.REMOVE){if(this.events.find((function(e){return e.component===r&&e.type===exports.OBSERVER_TYPE.ADD})))return void(this.events=this.events.filter((function(e){return e.component!==r})));this.events=this.events.filter((function(e){return e.component!==r}))}var i=this.events.findIndex((function(e){return e.component===r&&t.isEqual(e.prop,n)&&e.type===o}));i>-1&&this.events.splice(i,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 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}();var C,M=Date.now?Date.now:function(){return(new Date).getTime()},N={originTime:0,playbackRate:1},A=function(){function e(t,r){t instanceof e&&(r=t,t={}),t=Object.assign({},N,t),r&&(this._parent=r),this._createTime=M(),this._timeMark=[{globalTime:this.globalTime,localTime:-t.originTime,entropy:-t.originTime,playbackRate:t.playbackRate,globalEntropy:0}],this._parent&&(this._timeMark[0].globalEntropy=this._parent.entropy),this._playbackRate=t.playbackRate}return Object.defineProperty(e.prototype,"globalTime",{get:function(){return this.parent?this.parent.currentTime:M()-this._createTime},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastTimeMark",{get:function(){return this._timeMark[this._timeMark.length-1]},enumerable:!1,configurable:!0}),e.prototype.markTime=function(e){var t=void 0===e?{}:e,r=t.time,n=void 0===r?this.currentTime:r,o=t.entropy,a=void 0===o?this.entropy:o,i=t.playbackRate,s=void 0===i?this.playbackRate:i,c={globalTime:this.globalTime,localTime:n,entropy:a,playbackRate:s,globalEntropy:this.globalEntropy};this._timeMark.push(c)},Object.defineProperty(e.prototype,"currentTime",{get:function(){var e=this.lastTimeMark,t=e.localTime,r=e.globalTime;return t+(this.globalTime-r)*this.playbackRate},set:function(e){this.markTime({time:e})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"globalEntropy",{get:function(){return this._parent?this._parent.entropy:this.globalTime},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"entropy",{get:function(){var e=this.lastTimeMark,t=e.entropy,r=e.globalEntropy;return t+Math.abs((this.globalEntropy-r)*this.playbackRate)},set:function(e){if(this.entropy>e){var t=this.seekTimeMark(e);this._timeMark.length=t+1}this.markTime({entropy:e})},enumerable:!1,configurable:!0}),e.prototype.fork=function(t){return new e(t,this)},e.prototype.seekGlobalTime=function(e){var t=this.seekTimeMark(e),r=this._timeMark[t],n=r.entropy,o=r.playbackRate;return r.globalTime+(e-n)/Math.abs(o)},e.prototype.seekLocalTime=function(e){var t=this.seekTimeMark(e),r=this._timeMark[t],n=r.localTime,o=r.entropy;return r.playbackRate>0?n+(e-o):n-(e-o)},e.prototype.seekTimeMark=function(e){var t=this._timeMark,r=0,n=t.length-1;if(e<=t[r].entropy)return r;if(e>=t[n].entropy)return n;for(var o=Math.floor((r+n)/2);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},Object.defineProperty(e.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(e){e!==this.playbackRate&&(this.markTime({playbackRate:e}),this._playbackRate=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paused",{get:function(){if(0===this.playbackRate)return!0;for(var e=this.parent;e;){if(0===e.playbackRate)return!0;e=e.parent}return!1},enumerable:!1,configurable:!0}),e}(),D={autoStart:!0,frameRate:60},I=function(){function e(e){var t=this;e=Object.assign({},D,e),this._frameCount=0,this._frameDuration=1e3/e.frameRate,this.autoStart=e.autoStart,this.frameRate=e.frameRate,this.timeline=new A({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 i={deltaTime:a,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/a)};try{for(var s=f(this._tickers),c=s.next();!c.done;c=s.next()){var u=c.value;"function"==typeof u&&u(i)}}catch(t){e={error:t}}finally{try{c&&!c.done&&(t=s.return)&&t.call(s)}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}(),L=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.gameObjects=[],n.scene=n,n}return c(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}(S);exports.LOAD_SCENE_MODE=void 0,(C=exports.LOAD_SCENE_MODE||(exports.LOAD_SCENE_MODE={})).SINGLE="SINGLE",C.MULTI_CANVAS="MULTI_CANVAS";var V=function(e){if((e instanceof j||e instanceof v)&&!e.started){e.started=!0;try{e.start&&e.start()}catch(t){e instanceof v?console.error(e.constructor.componentName+" start error",t):console.error(e.constructor.systemName+" start error",t)}}},G=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.playing=!1,t.started=!1,t.multiScenes=[],t.systems=[],t}return c(r,e),r.prototype.init=function(e){var t=void 0===e?{}:e,r=t.systems,n=t.frameRate,o=void 0===n?60:n,a=t.autoStart,i=void 0===a||a,s=t.needScene,c=void 0===s||s;return p(this,void 0,void 0,(function(){var e,t,n,a,s,u;return l(this,(function(p){switch(p.label){case 0:if(window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=this),this.ticker=new I({autoStart:!1,frameRate:o}),this.initTicker(),!r||!r.length)return[3,8];p.label=1;case 1:p.trys.push([1,6,7,8]),e=f(r),t=e.next(),p.label=2;case 2:return t.done?[3,5]:(n=t.value,[4,this.addSystem(n)]);case 3:p.sent(),p.label=4;case 4:return t=e.next(),[3,2];case 5:return[3,8];case 6:return a=p.sent(),s={error:a},[3,8];case 7:try{t&&!t.done&&(u=e.return)&&u.call(e)}finally{if(s)throw s.error}return[7];case 8:return c&&this.loadScene(new L("scene")),i&&this.start(),[2]}}))}))},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})),i=[];try{for(var s=f(a),c=s.next();!c.done;c=s.next())i=m(i,c.value)}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}return m(o,i)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(e,r){return p(this,void 0,void 0,(function(){var n;return l(this,(function(o){switch(o.label){case 0:if(e instanceof Function)n=new e(r);else{if(!(e instanceof j))return console.warn("can only add System"),[2];n=e}return this.systems.find((function(e){return e.constructor===n.constructor}))?(console.warn(n.constructor.systemName+" System has been added"),[2]):(n.game=this,n.init?[4,n.init(n.__systemDefaultParams)]:[3,2]);case 1:o.sent(),o.label=2;case 2:!function(e,t){E[t.systemName]=t.observerInfo,g[t.systemName]=e}(n,n.constructor),function(e){var r,n,o,a,i=[];e instanceof Array?i.push.apply(i,m(e)):i.push(e);try{for(var s=f(i),c=s.next();!c.done;c=s.next()){var u=c.value;for(var p in u.observerInfo){_[p]=_[p]||[];var l=_[p],h=function(e){-1===l.findIndex((function(r){return t.isEqual(r,e)}))&&_[p].push(e)};try{for(var y=(o=void 0,f(u.observerInfo[p])),d=y.next();!d.done;d=y.next())h(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=s.return)&&n.call(s)}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),[2,n]}}))}))},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,i,s,c,u;void 0===t&&(t=[]);try{for(var p=f(t),l=p.next();!l.done;l=p.next()){var h=l.value;try{for(var m=(o=void 0,f(h.components)),y=m.next();!y.done;y=m.next()){var d=y.value;try{V(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{l&&!l.done&&(n=p.return)&&n.call(p)}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){i={error:e}}finally{try{b&&!b.done&&(s=v.return)&&s.call(v)}finally{if(i)throw i.error}}}(t,e.gameObjects);try{for(var i=f(e.systems),s=i.next();!s.done;s=i.next()){var c=s.value;try{V(c),c.update&&c.update(t)}catch(t){console.error(c.constructor.systemName+" update error",t)}}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}try{for(var u=f(e.systems),p=u.next();!p.done;p=u.next()){c=p.value;try{c.lateUpdate&&c.lateUpdate(t)}catch(t){console.error(c.constructor.systemName+" lateUpdate error",t)}}}catch(e){o={error:e}}finally{try{p&&!p.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),i=a.next();!i.done;i=a.next()){var s=i.value;try{for(var c=(n=void 0,f(s.components)),u=c.next();!u.done;u=c.next()){var p=u.value;try{p.onResume&&p.onResume()}catch(e){console.error("gameObject: "+s.name+", "+p.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{i&&!i.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),i=a.next();!i.done;i=a.next()){var s=i.value;try{for(var c=(n=void 0,f(s.components)),u=c.next();!u.done;u=c.next()){var p=u.value;try{p.onPause&&p.onPause()}catch(e){console.error("gameObject: "+s.name+", "+p.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{i&&!i.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(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}(i);function F(e,t){e.constructor.IDEProps||(e.constructor.IDEProps=[]),e.constructor.IDEProps.push(t)}function U(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 Y,q,H=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 c(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}(i),B=H,z={AbstractLoadStrategy:o.AbstractLoadStrategy,AudioLoadStrategy:o.AudioLoadStrategy,ImageLoadStrategy:o.ImageLoadStrategy,XhrResponseType:o.XhrResponseType,MediaElementLoadStrategy:o.MediaElementLoadStrategy,VideoLoadStrategy:o.VideoLoadStrategy,Loader:o.Loader,Resource:o.Resource,ResourceType:o.ResourceType,ResourceState:o.ResourceState};exports.LOAD_EVENT=void 0,(Y=exports.LOAD_EVENT||(exports.LOAD_EVENT={})).START="start",Y.PROGRESS="progress",Y.LOADED="loaded",Y.COMPLETE="complete",Y.ERROR="error",exports.RESOURCE_TYPE=void 0,(q=exports.RESOURCE_TYPE||(exports.RESOURCE_TYPE={})).IMAGE="IMAGE",q.SPRITE="SPRITE",q.SPRITE_ANIMATION="SPRITE_ANIMATION",q.AUDIO="AUDIO",q.VIDEO="VIDEO";var X=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={},t&&"number"==typeof t.timeout&&(r.timeout=t.timeout),r}return c(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||this.promiseMap[t]||e.push(r.name)}this.progress=new B({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 l(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 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 p(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),p(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.registerResourceType=function(e,t){if(void 0===t&&(t=e),exports.RESOURCE_TYPE[e])throw new Error("The type "+e+" already exists in RESOURCE_TYPE");exports.RESOURCE_TYPE[e]=t},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,o=void 0===r?[]:r,a=e.preload,i=void 0!==a&&a,s=o.filter((function(e){return!t.promiseMap[e]&&t.resourcesMap[e]}));if(s.length){var c={};s.forEach((function(e){var r,o,a;t.promiseMap[e]=new Promise((function(t){return c[e]=t}));var s=t.resourcesMap[e];try{for(var u=f(t.preProcessResourceHandlers),p=u.next();!p.done;p=u.next()){(0,p.value)(s)}}catch(e){r={error:e}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}var l=function(r){if("data"===s.src[r].type)s.data[r]=s.src[r].data,t.doComplete(e,c[e],i);else{var o=null===(a=s.src[r])||void 0===a?void 0:a.url;"string"==typeof o&&o.startsWith("//")&&(o=""+window.location.protocol+s.src[r].url),n.Assets.load(o).then((function(n){t.onLoad({preload:i,resource:{metadata:{key:r,name:e,resolves:c},data:n}})})).catch((function(n){console.log(">>>E",n),t.onError({preload:i,errMsg:n.message,resource:{metadata:{key:r,name:e,resolves:c}}})}))}};for(var h in s.src)l(h)}))}},t.prototype.doComplete=function(e,t,r){return void 0===r&&(r=!1),p(this,void 0,void 0,(function(){var n,o,a,i;return l(this,(function(s){switch(s.label){case 0:if(n=this.resourcesMap[e],o={name:e,resource:this.resourcesMap[e],success:!0},!this.checkAllLoaded(e))return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),a=n,[4,this.instance(e)];case 2:return a.instance=s.sent(),n.complete=!0,r&&this.progress.onProgress(o),t(n),[3,4];case 3:return i=s.sent(),console.error(i),n.complete=!1,r&&(o.errMsg=i.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){},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,i;return l(this,(function(s){return e=n.metadata,t=e.key,o=e.name,a=e.resolves,i=n.data,this.resourcesMap[o].data[t]=i,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,i;return l(this,(function(s){return e=o.metadata,r=e.name,a=e.resolves,this._destroy(r,!0),a[r]({}),n&&(i={name:r,resource:this.resourcesMap[r],success:!1,errMsg:t},this.progress.onProgress(i)),[2]}))}))},t}(i),W=new X,J={IDEProp:F,componentObserver:U},K="2.0.0-beta.0";console.log("Eva.js version: "+K);exports.Component=v,exports.Game=G,exports.GameObject=S,exports.IDEProp=F,exports.RESOURCE_TYPE_STRATEGY={},exports.Scene=L,exports.System=j,exports.Transform=w,exports.componentObserver=U,exports.decorators=J,exports.resource=W,exports.resourceLoader=z,exports.version=K;
15
+ ***************************************************************************** */function c(e,t){function r(){this.constructor=e}s(e,t),e.prototype=null===t?Object.create(t):(r.prototype=t.prototype,new r)}function u(e,t,r,n){var o,a=arguments.length,i=a<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,r):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)i=Reflect.decorate(e,t,r,n);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(i=(a<3?o(i):a>3?o(t,r,i):o(t,r))||i);return a>3&&i&&Object.defineProperty(t,r,i),i}function p(e,t,r,n){return new(r||(r=Promise))((function(o,a){function i(e){try{c(n.next(e))}catch(e){a(e)}}function s(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(i,s)}c((n=n.apply(e,t||[])).next())}))}function l(e,t){var r,n,o,a,i={label:0,sent:function(){if(1&o[0])throw o[1];return o[1]},trys:[],ops:[]};return a={next:s(0),throw:s(1),return:s(2)},"function"==typeof Symbol&&(a[Symbol.iterator]=function(){return this}),a;function s(a){return function(s){return function(a){if(r)throw new TypeError("Generator is already executing.");for(;i;)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 i.label++,{value:a[1],done:!1};case 5:i.label++,n=a[1],a=[0];continue;case 7:a=i.ops.pop(),i.trys.pop();continue;default:if(!(o=i.trys,(o=o.length>0&&o[o.length-1])||6!==a[0]&&2!==a[0])){i=0;continue}if(3===a[0]&&(!o||a[1]>o[0]&&a[1]<o[3])){i.label=a[1];break}if(6===a[0]&&i.label<o[1]){i.label=o[1],o=a;break}if(o&&i.label<o[2]){i.label=o[2],i.ops.push(a);break}o[2]&&i.ops.pop(),i.trys.pop();continue}a=t.call(e,i)}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,s])}}}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 h(e,t){var r="function"==typeof Symbol&&e[Symbol.iterator];if(!r)return e;var n,o,a=r.call(e),i=[];try{for(;(void 0===t||t-- >0)&&!(n=a.next()).done;)i.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 i}function m(){for(var e=[],t=0;t<arguments.length;t++)e=e.concat(h(arguments[t]));return e}var y,d=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 c(t,e),t}(i),v=d;exports.OBSERVER_TYPE=void 0,(y=exports.OBSERVER_TYPE||(exports.OBSERVER_TYPE={})).ADD="ADD",y.REMOVE="REMOVE",y.CHANGE="CHANGE";var b={},g={},E={},_={};function O(e,t){b[e.gameObject.id]||(b[e.gameObject.id]={});var r=b[e.gameObject.id],n=e.name+"_"+t.join(",");if(r[n])return r[n];for(var o=t.length-1,a=e,i=0;i<o;i++)a=a[t[i]];return r[n]={property:a,key:t[o]},r[n]}function R(e){var t,r,n=e.systemName,o=e.componentName,a=e.component,i=e.prop,s=e.type;null===(r=null===(t=g[n])||void 0===t?void 0:t.componentObserver)||void 0===r||r.add({component:a,prop:i,type:s,componentName:o})}function x(e){var r,n,o=e.obj,a=e.key,i=e.prop,s=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]}),i.deep&&t.isObject(o[a]))try{for(var u=f(Object.keys(o[a])),p=u.next();!p.done;p=u.next()){var l=p.value;x({obj:o[a],key:l,prop:i,component:s,componentName:c})}}catch(e){r={error:e}}finally{try{p&&!p.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 E){var i=(E[a]||{})[o];i&&i.findIndex((function(e){return t.isEqual(e,r)}))>-1&&R({systemName:a,componentName:o,component:n,prop:r,type:exports.OBSERVER_TYPE.CHANGE})}}({prop:i,component:s,componentName:c}))},get:function(){return o["_"+a]}})}else console.error("prop "+a+" not in component: "+c+", Can not observer")}function T(e,t){var r,n;for(var o in void 0===t&&(t=e.name),E){(E[o]||{})[t]&&(null===(n=null===(r=g[o])||void 0===r?void 0:r.componentObserver)||void 0===n||n.add({component:e,type:exports.OBSERVER_TYPE.REMOVE,componentName:t}))}!function(e){e.gameObject&&delete b[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 c(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",u([r.type("vector2"),r.step(1)],t.prototype,"position",void 0),u([r.type("size"),r.step(1)],t.prototype,"size",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"origin",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"anchor",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"scale",void 0),u([r.type("vector2"),r.step(.1)],t.prototype,"skew",void 0),u([r.type("number"),r.step(.1)],t.prototype,"rotation",void 0),t}(v),k=0;var S=function(){function e(e,t){this._componentCache={},this.components=[],this.destroyed=!1,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){if(!this.destroyed){var r=function(e){return e instanceof d?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 v))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){var r,n;for(var o in void 0===t&&(t=e.name),E)(E[o]||{})[t]&&(null===(n=null===(r=g[o])||void 0===r?void 0:r.componentObserver)||void 0===n||n.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&&_[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(_[t]),i=a.next();!i.done;i=a.next()){var s=i.value,c=O(e,s.prop);x({obj:c.property,key:c.key,prop:s,component:e,componentName:t})}}catch(e){r={error:e}}finally{try{i&&!i.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 v?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(),T(r,e),r.gameObject=void 0,r}},e.prototype.getComponent=function(e){var t;return"string"==typeof e?t=e:e instanceof v?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(){if(this.transform){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,this.destroyed=!0}else console.error("Cannot destroy gameObject that have already been destroyed.")},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;if(o===exports.OBSERVER_TYPE.REMOVE){if(this.events.find((function(e){return e.component===r&&e.type===exports.OBSERVER_TYPE.ADD})))return void(this.events=this.events.filter((function(e){return e.component!==r})));this.events=this.events.filter((function(e){return e.component!==r}))}var i=this.events.findIndex((function(e){return e.component===r&&t.isEqual(e.prop,n)&&e.type===o}));i>-1&&this.events.splice(i,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 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}();var C,M=Date.now?Date.now:function(){return(new Date).getTime()},N={originTime:0,playbackRate:1},A=function(){function e(t,r){t instanceof e&&(r=t,t={}),t=Object.assign({},N,t),r&&(this._parent=r),this._createTime=M(),this._timeMark=[{globalTime:this.globalTime,localTime:-t.originTime,entropy:-t.originTime,playbackRate:t.playbackRate,globalEntropy:0}],this._parent&&(this._timeMark[0].globalEntropy=this._parent.entropy),this._playbackRate=t.playbackRate}return Object.defineProperty(e.prototype,"globalTime",{get:function(){return this.parent?this.parent.currentTime:M()-this._createTime},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"parent",{get:function(){return this._parent},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"lastTimeMark",{get:function(){return this._timeMark[this._timeMark.length-1]},enumerable:!1,configurable:!0}),e.prototype.markTime=function(e){var t=void 0===e?{}:e,r=t.time,n=void 0===r?this.currentTime:r,o=t.entropy,a=void 0===o?this.entropy:o,i=t.playbackRate,s=void 0===i?this.playbackRate:i,c={globalTime:this.globalTime,localTime:n,entropy:a,playbackRate:s,globalEntropy:this.globalEntropy};this._timeMark.push(c)},Object.defineProperty(e.prototype,"currentTime",{get:function(){var e=this.lastTimeMark,t=e.localTime,r=e.globalTime;return t+(this.globalTime-r)*this.playbackRate},set:function(e){this.markTime({time:e})},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"globalEntropy",{get:function(){return this._parent?this._parent.entropy:this.globalTime},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"entropy",{get:function(){var e=this.lastTimeMark,t=e.entropy,r=e.globalEntropy;return t+Math.abs((this.globalEntropy-r)*this.playbackRate)},set:function(e){if(this.entropy>e){var t=this.seekTimeMark(e);this._timeMark.length=t+1}this.markTime({entropy:e})},enumerable:!1,configurable:!0}),e.prototype.fork=function(t){return new e(t,this)},e.prototype.seekGlobalTime=function(e){var t=this.seekTimeMark(e),r=this._timeMark[t],n=r.entropy,o=r.playbackRate;return r.globalTime+(e-n)/Math.abs(o)},e.prototype.seekLocalTime=function(e){var t=this.seekTimeMark(e),r=this._timeMark[t],n=r.localTime,o=r.entropy;return r.playbackRate>0?n+(e-o):n-(e-o)},e.prototype.seekTimeMark=function(e){var t=this._timeMark,r=0,n=t.length-1;if(e<=t[r].entropy)return r;if(e>=t[n].entropy)return n;for(var o=Math.floor((r+n)/2);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},Object.defineProperty(e.prototype,"playbackRate",{get:function(){return this._playbackRate},set:function(e){e!==this.playbackRate&&(this.markTime({playbackRate:e}),this._playbackRate=e)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,"paused",{get:function(){if(0===this.playbackRate)return!0;for(var e=this.parent;e;){if(0===e.playbackRate)return!0;e=e.parent}return!1},enumerable:!1,configurable:!0}),e}(),D={autoStart:!0,frameRate:60},I=function(){function e(e){var t=this;e=Object.assign({},D,e),this._frameCount=0,this._frameDuration=1e3/e.frameRate,this.autoStart=e.autoStart,this.frameRate=e.frameRate,this.timeline=new A({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 i={deltaTime:a,time:o,currentTime:o,frameCount:++this._frameCount,fps:Math.round(1e3/a)};try{for(var s=f(this._tickers),c=s.next();!c.done;c=s.next()){var u=c.value;"function"==typeof u&&u(i)}}catch(t){e={error:t}}finally{try{c&&!c.done&&(t=s.return)&&t.call(s)}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}(),L=function(e){function t(t,r){var n=e.call(this,t,r)||this;return n.gameObjects=[],n.scene=n,n}return c(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}(S);exports.LOAD_SCENE_MODE=void 0,(C=exports.LOAD_SCENE_MODE||(exports.LOAD_SCENE_MODE={})).SINGLE="SINGLE",C.MULTI_CANVAS="MULTI_CANVAS";var V=function(e){if((e instanceof j||e instanceof v)&&!e.started){e.started=!0;try{e.start&&e.start()}catch(t){e instanceof v?console.error(e.constructor.componentName+" start error",t):console.error(e.constructor.systemName+" start error",t)}}},G=function(e){function r(){var t=null!==e&&e.apply(this,arguments)||this;return t.playing=!1,t.started=!1,t.multiScenes=[],t.systems=[],t}return c(r,e),r.prototype.init=function(e){var t=void 0===e?{}:e,r=t.systems,n=t.frameRate,o=void 0===n?60:n,a=t.autoStart,i=void 0===a||a,s=t.needScene,c=void 0===s||s;return p(this,void 0,void 0,(function(){var e,t,n,a,s,u;return l(this,(function(p){switch(p.label){case 0:if(window.__EVA_INSPECTOR_ENV__&&(window.__EVA_GAME_INSTANCE__=this),this.ticker=new I({autoStart:!1,frameRate:o}),this.initTicker(),!r||!r.length)return[3,8];p.label=1;case 1:p.trys.push([1,6,7,8]),e=f(r),t=e.next(),p.label=2;case 2:return t.done?[3,5]:(n=t.value,[4,this.addSystem(n)]);case 3:p.sent(),p.label=4;case 4:return t=e.next(),[3,2];case 5:return[3,8];case 6:return a=p.sent(),s={error:a},[3,8];case 7:try{t&&!t.done&&(u=e.return)&&u.call(e)}finally{if(s)throw s.error}return[7];case 8:return c&&this.loadScene(new L("scene")),i&&this.start(),[2]}}))}))},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})),i=[];try{for(var s=f(a),c=s.next();!c.done;c=s.next())i=m(i,c.value)}catch(e){t={error:e}}finally{try{c&&!c.done&&(r=s.return)&&r.call(s)}finally{if(t)throw t.error}}return m(o,i)}(this)},enumerable:!1,configurable:!0}),r.prototype.addSystem=function(e,r){return p(this,void 0,void 0,(function(){var n;return l(this,(function(o){switch(o.label){case 0:if(e instanceof Function)n=new e(r);else{if(!(e instanceof j))return console.warn("can only add System"),[2];n=e}return this.systems.find((function(e){return e.constructor===n.constructor}))?(console.warn(n.constructor.systemName+" System has been added"),[2]):(n.game=this,n.init?[4,n.init(n.__systemDefaultParams)]:[3,2]);case 1:o.sent(),o.label=2;case 2:!function(e,t){E[t.systemName]=t.observerInfo,g[t.systemName]=e}(n,n.constructor),function(e){var r,n,o,a,i=[];e instanceof Array?i.push.apply(i,m(e)):i.push(e);try{for(var s=f(i),c=s.next();!c.done;c=s.next()){var u=c.value;for(var p in u.observerInfo){_[p]=_[p]||[];var l=_[p],h=function(e){-1===l.findIndex((function(r){return t.isEqual(r,e)}))&&_[p].push(e)};try{for(var y=(o=void 0,f(u.observerInfo[p])),d=y.next();!d.done;d=y.next())h(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=s.return)&&n.call(s)}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),[2,n]}}))}))},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,i,s,c,u;void 0===t&&(t=[]);try{for(var p=f(t),l=p.next();!l.done;l=p.next()){var h=l.value;try{for(var m=(o=void 0,f(h.components)),y=m.next();!y.done;y=m.next()){var d=y.value;try{V(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{l&&!l.done&&(n=p.return)&&n.call(p)}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){i={error:e}}finally{try{b&&!b.done&&(s=v.return)&&s.call(v)}finally{if(i)throw i.error}}}(t,e.gameObjects);try{for(var i=f(e.systems),s=i.next();!s.done;s=i.next()){var c=s.value;try{V(c),c.update&&c.update(t)}catch(t){console.error(c.constructor.systemName+" update error",t)}}}catch(e){r={error:e}}finally{try{s&&!s.done&&(n=i.return)&&n.call(i)}finally{if(r)throw r.error}}try{for(var u=f(e.systems),p=u.next();!p.done;p=u.next()){c=p.value;try{c.lateUpdate&&c.lateUpdate(t)}catch(t){console.error(c.constructor.systemName+" lateUpdate error",t)}}}catch(e){o={error:e}}finally{try{p&&!p.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),i=a.next();!i.done;i=a.next()){var s=i.value;try{for(var c=(n=void 0,f(s.components)),u=c.next();!u.done;u=c.next()){var p=u.value;try{p.onResume&&p.onResume()}catch(e){console.error("gameObject: "+s.name+", "+p.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{i&&!i.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),i=a.next();!i.done;i=a.next()){var s=i.value;try{for(var c=(n=void 0,f(s.components)),u=c.next();!u.done;u=c.next()){var p=u.value;try{p.onPause&&p.onPause()}catch(e){console.error("gameObject: "+s.name+", "+p.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{i&&!i.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(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}(i);function F(e,t){e.constructor.IDEProps||(e.constructor.IDEProps=[]),e.constructor.IDEProps.push(t)}function U(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 Y,q,H=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 c(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}(i),B=H,z={AbstractLoadStrategy:o.AbstractLoadStrategy,AudioLoadStrategy:o.AudioLoadStrategy,ImageLoadStrategy:o.ImageLoadStrategy,XhrResponseType:o.XhrResponseType,MediaElementLoadStrategy:o.MediaElementLoadStrategy,VideoLoadStrategy:o.VideoLoadStrategy,Loader:o.Loader,Resource:o.Resource,ResourceType:o.ResourceType,ResourceState:o.ResourceState};exports.LOAD_EVENT=void 0,(Y=exports.LOAD_EVENT||(exports.LOAD_EVENT={})).START="start",Y.PROGRESS="progress",Y.LOADED="loaded",Y.COMPLETE="complete",Y.ERROR="error",exports.RESOURCE_TYPE=void 0,(q=exports.RESOURCE_TYPE||(exports.RESOURCE_TYPE={})).IMAGE="IMAGE",q.SPRITE="SPRITE",q.SPRITE_ANIMATION="SPRITE_ANIMATION",q.AUDIO="AUDIO",q.VIDEO="VIDEO";var X=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={},t&&"number"==typeof t.timeout&&(r.timeout=t.timeout),r}return c(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||this.promiseMap[t]||e.push(r.name)}this.progress=new B({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 l(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 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 p(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),p(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.registerResourceType=function(e,t){if(void 0===t&&(t=e),exports.RESOURCE_TYPE[e])throw new Error("The type "+e+" already exists in RESOURCE_TYPE");exports.RESOURCE_TYPE[e]=t},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,o=void 0===r?[]:r,a=e.preload,i=void 0!==a&&a,s=o.filter((function(e){return!t.promiseMap[e]&&t.resourcesMap[e]}));if(s.length){var c={};s.forEach((function(e){var r,o,a;t.promiseMap[e]=new Promise((function(t){return c[e]=t}));var s=t.resourcesMap[e];try{for(var u=f(t.preProcessResourceHandlers),p=u.next();!p.done;p=u.next()){(0,p.value)(s)}}catch(e){r={error:e}}finally{try{p&&!p.done&&(o=u.return)&&o.call(u)}finally{if(r)throw r.error}}var l=function(r){if("data"===s.src[r].type)s.data[r]=s.src[r].data,t.doComplete(e,c[e],i);else{var o=null===(a=s.src[r])||void 0===a?void 0:a.url;"string"==typeof o&&o.startsWith("//")&&(o=""+window.location.protocol+s.src[r].url),"atlas"===r?n.Assets.add({alias:o,src:o,data:{resolve:function(){return n.Assets.load(s.src.image.url)}}}):n.Assets.add({alias:o,src:o}),n.Assets.load(o).then((function(n){t.onLoad({preload:i,resource:{metadata:{key:r,name:e,resolves:c},data:n}})})).catch((function(n){console.log(">>>E",n),t.onError({preload:i,errMsg:n.message,resource:{metadata:{key:r,name:e,resolves:c}}})}))}};for(var h in s.src)l(h)}))}},t.prototype.doComplete=function(e,t,r){return void 0===r&&(r=!1),p(this,void 0,void 0,(function(){var n,o,a,i;return l(this,(function(s){switch(s.label){case 0:if(n=this.resourcesMap[e],o={name:e,resource:this.resourcesMap[e],success:!0},!this.checkAllLoaded(e))return[3,4];s.label=1;case 1:return s.trys.push([1,3,,4]),a=n,[4,this.instance(e)];case 2:return a.instance=s.sent(),n.complete=!0,r&&this.progress.onProgress(o),t(n),[3,4];case 3:return i=s.sent(),console.error(i),n.complete=!1,r&&(o.errMsg=i.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){},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,i;return l(this,(function(s){return e=n.metadata,t=e.key,o=e.name,a=e.resolves,i=n.data,this.resourcesMap[o].data[t]=i,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,i;return l(this,(function(s){return e=o.metadata,r=e.name,a=e.resolves,this._destroy(r,!0),a[r]({}),n&&(i={name:r,resource:this.resourcesMap[r],success:!1,errMsg:t},this.progress.onProgress(i)),[2]}))}))},t}(i),W=new X,J={IDEProp:F,componentObserver:U},K="2.0.0-beta.1";console.log("Eva.js version: "+K);exports.Component=v,exports.Game=G,exports.GameObject=S,exports.IDEProp=F,exports.RESOURCE_TYPE_STRATEGY={},exports.Scene=L,exports.System=j,exports.Transform=w,exports.componentObserver=U,exports.decorators=J,exports.resource=W,exports.resourceLoader=z,exports.version=K;