angry-pixel 1.2.6 → 1.2.8
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/index.cjs.js +2 -1
- package/lib/index.cjs.js.map +1 -0
- package/lib/index.d.ts +5 -41
- package/lib/index.esm.js +2 -1
- package/lib/index.esm.js.map +1 -0
- package/lib/index.js +2 -1
- package/lib/index.js.map +1 -0
- package/package.json +6 -30
- package/.github/workflows/analyzeCode.yml +0 -25
- package/.github/workflows/buildCode.yml +0 -23
- package/.github/workflows/main.yml +0 -15
- package/.github/workflows/setupNode.yml +0 -40
- package/api-docs/.nojekyll +0 -1
- package/api-docs/assets/highlight.css +0 -92
- package/api-docs/assets/main.js +0 -59
- package/api-docs/assets/navigation.js +0 -1
- package/api-docs/assets/search.js +0 -1
- package/api-docs/assets/style.css +0 -1383
- package/api-docs/classes/Animator.html +0 -128
- package/api-docs/classes/AudioPlayer.html +0 -131
- package/api-docs/classes/BallCollider.html +0 -132
- package/api-docs/classes/BoxCollider.html +0 -136
- package/api-docs/classes/Button.html +0 -125
- package/api-docs/classes/Camera.html +0 -114
- package/api-docs/classes/Component.html +0 -106
- package/api-docs/classes/EdgeCollider.html +0 -134
- package/api-docs/classes/Game.html +0 -24
- package/api-docs/classes/GameCamera.html +0 -163
- package/api-docs/classes/GameObject.html +0 -149
- package/api-docs/classes/GamepadController.html +0 -11
- package/api-docs/classes/GamepadData.html +0 -81
- package/api-docs/classes/KeyboardController.html +0 -43
- package/api-docs/classes/MaskRenderer.html +0 -119
- package/api-docs/classes/MouseController.html +0 -14
- package/api-docs/classes/PhysicsComponent.html +0 -107
- package/api-docs/classes/PolygonCollider.html +0 -134
- package/api-docs/classes/PreRenderComponent.html +0 -107
- package/api-docs/classes/Rectangle.html +0 -30
- package/api-docs/classes/RigidBody.html +0 -123
- package/api-docs/classes/Rotation.html +0 -5
- package/api-docs/classes/Scene.html +0 -73
- package/api-docs/classes/SpacePointer.html +0 -147
- package/api-docs/classes/Sprite.html +0 -20
- package/api-docs/classes/SpriteRenderer.html +0 -134
- package/api-docs/classes/TextRenderer.html +0 -138
- package/api-docs/classes/TiledTilemapRenderer.html +0 -127
- package/api-docs/classes/TilemapCollider.html +0 -124
- package/api-docs/classes/TilemapRenderer.html +0 -126
- package/api-docs/classes/TouchController.html +0 -8
- package/api-docs/classes/Transform.html +0 -124
- package/api-docs/classes/Vector2.html +0 -65
- package/api-docs/classes/VideoRenderer.html +0 -145
- package/api-docs/enums/BroadPhaseMethods.html +0 -3
- package/api-docs/enums/ButtonType.html +0 -3
- package/api-docs/enums/CollisionMethods.html +0 -3
- package/api-docs/enums/RigidBodyType.html +0 -4
- package/api-docs/enums/TextOrientation.html +0 -5
- package/api-docs/enums/TilemapOrientation.html +0 -5
- package/api-docs/functions/between.html +0 -5
- package/api-docs/functions/clamp.html +0 -5
- package/api-docs/functions/fixedRound.html +0 -4
- package/api-docs/functions/randomFloat.html +0 -4
- package/api-docs/functions/randomInt.html +0 -4
- package/api-docs/functions/range.html +0 -5
- package/api-docs/index.html +0 -37
- package/api-docs/interfaces/AnimationConfig.html +0 -10
- package/api-docs/interfaces/AnimatorOptions.html +0 -6
- package/api-docs/interfaces/AudioPlayerOptions.html +0 -8
- package/api-docs/interfaces/BallColliderOptions.html +0 -16
- package/api-docs/interfaces/BoxColliderOptions.html +0 -20
- package/api-docs/interfaces/ButtonOptions.html +0 -16
- package/api-docs/interfaces/ColliderComponent.html +0 -14
- package/api-docs/interfaces/CollisionData.html +0 -10
- package/api-docs/interfaces/EdgeColliderOptions.html +0 -18
- package/api-docs/interfaces/GameConfig.html +0 -28
- package/api-docs/interfaces/IAssetManager.html +0 -40
- package/api-docs/interfaces/ICollider.html +0 -11
- package/api-docs/interfaces/ICollision.html +0 -4
- package/api-docs/interfaces/ICollisionResolution.html +0 -4
- package/api-docs/interfaces/IDomManager.html +0 -6
- package/api-docs/interfaces/IGameObjectManager.html +0 -49
- package/api-docs/interfaces/IInputManager.html +0 -12
- package/api-docs/interfaces/IPhysicsManager.html +0 -8
- package/api-docs/interfaces/IRenderManager.html +0 -7
- package/api-docs/interfaces/ISceneManager.html +0 -18
- package/api-docs/interfaces/ITimeManager.html +0 -16
- package/api-docs/interfaces/MaskRendererOptions.html +0 -18
- package/api-docs/interfaces/PolygonColliderOptions.html +0 -18
- package/api-docs/interfaces/RigidBodyOptions.html +0 -17
- package/api-docs/interfaces/Slice.html +0 -5
- package/api-docs/interfaces/SpriteConfig.html +0 -10
- package/api-docs/interfaces/SpriteRendererOptions.html +0 -32
- package/api-docs/interfaces/TextRendererOptions.html +0 -38
- package/api-docs/interfaces/TiledChunk.html +0 -7
- package/api-docs/interfaces/TiledLayer.html +0 -17
- package/api-docs/interfaces/TiledTilemap.html +0 -9
- package/api-docs/interfaces/TiledTilemapRendererOptions.html +0 -18
- package/api-docs/interfaces/TilemapColliderOptions.html +0 -12
- package/api-docs/interfaces/TilemapRendererOptions.html +0 -22
- package/api-docs/interfaces/Tileset.html +0 -13
- package/api-docs/interfaces/TouchInteraction.html +0 -6
- package/api-docs/interfaces/VideoRendererOptions.html +0 -34
- package/api-docs/modules.html +0 -85
- package/api-docs/types/CollisionMatrix.html +0 -1
- package/lib/component/Animation.d.ts +0 -12
- package/lib/component/Animator.d.ts +0 -139
- package/lib/component/AudioPlayer.d.ts +0 -97
- package/lib/component/Button.d.ts +0 -117
- package/lib/component/Camera.d.ts +0 -47
- package/lib/component/RigidBody.d.ts +0 -97
- package/lib/component/Sprite.d.ts +0 -22
- package/lib/component/Transform.d.ts +0 -65
- package/lib/component/collider/BallCollider.d.ts +0 -73
- package/lib/component/collider/BoxCollider.d.ts +0 -90
- package/lib/component/collider/Collider.d.ts +0 -82
- package/lib/component/collider/EdgeCollider.d.ts +0 -81
- package/lib/component/collider/PolygonCollider.d.ts +0 -92
- package/lib/component/collider/TilemapCollider.d.ts +0 -71
- package/lib/component/rendering/MaskRenderer.d.ts +0 -83
- package/lib/component/rendering/Sprite.d.ts +0 -61
- package/lib/component/rendering/SpriteRenderer.d.ts +0 -133
- package/lib/component/rendering/TextRenderer.d.ts +0 -145
- package/lib/component/rendering/TiledTilemapRenderer.d.ts +0 -186
- package/lib/component/rendering/TilemapRenderer.d.ts +0 -170
- package/lib/component/rendering/VideoRenderer.d.ts +0 -158
- package/lib/core/Component.d.ts +0 -203
- package/lib/core/Game.d.ts +0 -112
- package/lib/core/GameActor.d.ts +0 -131
- package/lib/core/GameConfig.d.ts +0 -61
- package/lib/core/GameObject.d.ts +0 -196
- package/lib/core/Scene.d.ts +0 -45
- package/lib/core/facades/AssetManagerFacade.d.ts +0 -51
- package/lib/core/facades/DomManagerFacade.d.ts +0 -8
- package/lib/core/facades/GameObjectManagerFacade.d.ts +0 -70
- package/lib/core/facades/InputManagerFacade.d.ts +0 -13
- package/lib/core/facades/SceneManagerFacade.d.ts +0 -18
- package/lib/core/facades/TimeManagerFacade.d.ts +0 -11
- package/lib/core/ioc/Config.d.ts +0 -4
- package/lib/core/managers/AssetManager.d.ts +0 -95
- package/lib/core/managers/DomManager.d.ts +0 -23
- package/lib/core/managers/GameObjectManager.d.ts +0 -118
- package/lib/core/managers/HeadlessIterationManager.d.ts +0 -33
- package/lib/core/managers/IterationManager.d.ts +0 -63
- package/lib/core/managers/SceneManager.d.ts +0 -93
- package/lib/core/managers/TimeManager.d.ts +0 -73
- package/lib/gameObject/GameCamera.d.ts +0 -38
- package/lib/gameObject/SpacePointer.d.ts +0 -15
- package/lib/input/GamepadController.d.ts +0 -225
- package/lib/input/InputManager.d.ts +0 -37
- package/lib/input/KeyboardController.d.ts +0 -81
- package/lib/input/MouseController.d.ts +0 -56
- package/lib/input/TouchController.d.ts +0 -45
- package/lib/utils/Container.d.ts +0 -13
- package/lib/utils/Exception.d.ts +0 -5
- package/lib/utils/UUID.d.ts +0 -1
- package/typedoc.json +0 -13
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.cjs.js","sources":["../../../packages/math/lib/index.esm.js","../../../packages/core/lib/index.esm.js","../../../packages/input/lib/index.esm.js","../../../packages/2d-physics/lib/index.esm.js"],"sourcesContent":["var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),e=function(){function e(e,i,n,o){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,i,n,o)}return Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(i){return i instanceof e?i.x1<=this.x1&&i.x>=this.x&&i.y1<=this.y1&&i.y>=this.y:i instanceof t&&!(i.x<this.x||i.y<this.y||i.x>=this.x1||i.y>=this.y1)},e}(),i=function(t,e,i){return Math.min(i,Math.max(e,t))},n=function(t,e){return Math.round(Math.random()*(e-t))+t},o=function(t,e,i){return void 0===i&&(i=2),r(Math.random()*(e-t)+t,i)},r=function(t,e){return Math.round(t*Math.pow(10,e))/Math.pow(10,e)},s=function(t,e,i){void 0===i&&(i=1);for(var n=[],o=t;o<=e;o+=i)n.push(o);return n},u=function(t,e,i){return t>=e&&t<=i},h=function(){function e(e,i){void 0===e&&(e=null),void 0===i&&(i=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:i&&(this.degrees=i)}return Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},e}();export{e as Rectangle,h as Rotation,t as Vector2,u as between,i as clamp,r as fixedRound,o as randomFloat,n as randomInt,s as range};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(e,i){return t=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},t(e,i)};function e(e,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function n(){this.constructor=e}t(e,i),e.prototype=null===i?Object.create(i):(n.prototype=i.prototype,new n)}var i,n=function(){return n=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},n.apply(this,arguments)};function o(t,e,i){if(i||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError,function(t){t[t.Init=0]=\"Init\",t[t.Start=1]=\"Start\",t[t.Update=2]=\"Update\",t[t.UpdateEngine=3]=\"UpdateEngine\",t[t.UpdateCollider=4]=\"UpdateCollider\",t[t.UpdatePhysics=5]=\"UpdatePhysics\",t[t.UpdateTransform=6]=\"UpdateTransform\",t[t.UpdatePreRender=7]=\"UpdatePreRender\",t[t.UpdateCamera=8]=\"UpdateCamera\",t[t.UpdateRender=9]=\"UpdateRender\",t[t.Destroy=10]=\"Destroy\",t[t.StopGame=11]=\"StopGame\"}(i||(i={}));var r,s,a,h=function(){function t(t,e,n,o,r,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=o,this.gameObjectManager=r,this.sceneManager=s,this.canvasColor=a,this.running=!1,this.gameLoopAccumulator=0,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear(),this.renderManager.clearScreen(this.canvasColor)},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.requestAnimationLoop(window.performance.now()),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.requestAnimationLoop=function(t){var e=this;this.running&&(this.timeManager.updateForBrowser(.001*t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.gameLoopAccumulator+=this.timeManager.browserDeltaTime,this.gameLoopAccumulator>=this.timeManager.minGameDeltatime&&(this.gameLogicIteration(.001*t),this.gameLoopAccumulator-=this.timeManager.minGameDeltatime),this.renderIteration(),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene()),window.requestAnimationFrame((function(t){return e.requestAnimationLoop(t)})))},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.load(),this.dispatchFrameEvent(i.Start),this.inputManager.update(),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.dispatchFrameEvent(i.UpdatePreRender)},t.prototype.renderIteration=function(){this.dispatchFrameEvent(i.UpdatePreRender),this.dispatchFrameEvent(i.UpdateCamera),this.dispatchFrameEvent(i.UpdateRender),this.renderManager.clearScreen(this.canvasColor),this.renderManager.render(),this.renderManager.clearData()},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsIntervalId=window.setInterval((function(){if(!t.running)return window.clearInterval(t.physicsIntervalId);t.timeManager.updateForPhysics(.001*window.performance.now()),document.hidden||t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=this.gameObjects.reduce((function(t,e){return o(o([],t,!0),e.getComponents().filter((function(t){return t.active})),!0)}),[])},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)&&this.loadedScene.dispatch(t),this.gameObjectEvents.includes(t)&&this.gameObjects.filter((function(t){return t.active})).forEach((function(e){return e.dispatch(t)})),this.components.filter((function(t){return t.active})).forEach((function(e){return e.dispatch(t)}))},t}(),c=function(){function t(t){this.updateEvent=i.Update,this.started=!1,this.container=t,this.gameConfig=this.container.getConstant(\"GameConfig\"),this.gameConfig.headless||(this.assetManager=this.container.getSingleton(\"AssetManager\"),this.domManager=this.container.getSingleton(\"DomManager\"),this.inputManager=this.container.getSingleton(\"InputManager\"),this.renderManager=this.container.getSingleton(\"RenderManager\")),this.gameObjectManager=this.container.getSingleton(\"GameObjectManager\"),this.physicsManager=this.container.getSingleton(\"PhysicsManager\"),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.timeManager=this.container.getSingleton(\"TimeManager\")}return t.prototype.dispatch=function(t,e){t===i.Init&&this.init?this.init(e):t!==i.Start||this.started?t===this.updateEvent&&this.started&&this.update?this.update():t===i.Destroy?(this.onDestroy&&this.onDestroy(),this._destroy()):t===i.StopGame&&(this.onDestroy&&this.onDestroy(),this._stopGame()):(this.start&&this.start(),this.started=!0)},t.prototype.addGameObject=function(t,e,i){return\"string\"==typeof e&&(i=e,e={}),this.gameObjectManager.addGameObject(t,e,void 0,i)},t.prototype.findGameObjects=function(t){return t?this.gameObjectManager.findGameObjects(t):this.gameObjectManager.findGameObjects()},t.prototype.findGameObject=function(t){return this.gameObjectManager.findGameObject(t)},t.prototype.findGameObjectsByTag=function(t){return this.gameObjectManager.findGameObjectsByTag(t)},t.prototype.destroyGameObject=function(t){this.gameObjectManager.destroyGameObject(t)},t}(),l=function(t){function i(e,i,n){void 0===n&&(n=\"\");var o=t.call(this,e)||this;return o.allowMultiple=!0,o._active=!0,o.gameObject=i,o.name=n,o}return e(i,t),Object.defineProperty(i.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.onActiveChange())},enumerable:!1,configurable:!0}),i.prototype.onActiveChange=function(){},i.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},i.prototype.getGameObject=function(){return this.gameObject},i.prototype.getComponents=function(t){return t?this.gameObject.getComponents(t):this.gameObject.getComponents()},i.prototype.getComponent=function(t){return this.gameObject.getComponent(t)},i.prototype.hasComponent=function(t){return this.gameObject.hasComponent(t)},i.prototype.removeComponent=function(t){this.gameObject.removeComponent(t)},i.prototype._destroy=function(){var t=this;Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){},i}(c),u=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateEngine,e}return e(n,t),n}(l),p=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCollider,e}return e(n,t),n}(l),d=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePhysics,e}return e(n,t),n}(l),f=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateTransform,e}return e(n,t),n}(l),g=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdatePreRender,e}return e(n,t),n}(l),m=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateCamera,e}return e(n,t),n}(l),y=function(t){function n(){var e=null!==t&&t.apply(this,arguments)||this;return e.updateEvent=i.UpdateRender,e}return e(n,t),n}(l);!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(r||(r={})),function(t){t[t.WorldSpace=0]=\"WorldSpace\",t[t.ViewPort=1]=\"ViewPort\"}(s||(s={})),function(t){t[t.Sprite=0]=\"Sprite\",t[t.Text=1]=\"Text\",t[t.Tilemap=2]=\"Tilemap\",t[t.Mask=3]=\"Mask\",t[t.Geometric=4]=\"Geometric\",t[t.Video=5]=\"Video\"}(a||(a={}));var v=function(){function t(t){this.gl=t,this.viewport={x:0,x1:0,y:0,y1:0},this.object={x:0,x1:0,y:0,y1:0}}return t.prototype.setViewport=function(t,e){var i=t.position,n=t.zoom;e===s.WorldSpace?(this.viewport.x=i.x-this.gl.canvas.width/n/2,this.viewport.x1=i.x+this.gl.canvas.width/n/2,this.viewport.y=i.y-this.gl.canvas.height/n/2,this.viewport.y1=i.y+this.gl.canvas.height/n/2):(this.viewport.x=-this.gl.canvas.width/2,this.viewport.x1=this.gl.canvas.width/2,this.viewport.y=-this.gl.canvas.height/2,this.viewport.y1=this.gl.canvas.height/2)},t.prototype.setObjectForResizeable=function(t){var e=t.position,i=t.width,n=t.height,o=t.rotation,r=void 0===o?0:o,s=Math.abs(Math.sin(r)),a=Math.abs(Math.cos(r)),h=s*n+a*i,c=s*i+a*n;this.object.x=e.x-h/2,this.object.x1=e.x+h/2,this.object.y=e.y-c/2,this.object.y1=e.y+c/2},t.prototype.setObjectForText=function(t){var e=t.position,i=t.text,n=t.fontSize,o=t.lineSeparation,r=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=r?r:0))*2,h=i.split(\"\\n\").length*(n+(null!=o?o:0));this.setObjectForResizeable({position:e,width:a,height:h,rotation:s})},t.prototype.setObjectForGeometric=function(t){var e=this,i=t.position,n=t.vertexModel,o=t.shape,s=t.radius;o===r.Circumference?(this.object.x=i.x-s,this.object.y=i.y-s,this.object.x1=i.x+s,this.object.y1=i.y+s):(this.object.x=Number.MAX_SAFE_INTEGER,this.object.y=Number.MAX_SAFE_INTEGER,this.object.x1=Number.MIN_SAFE_INTEGER,this.object.y1=Number.MIN_SAFE_INTEGER,n.forEach((function(t){e.object.x=Math.min(t.x+i.x,e.object.x),e.object.y=Math.min(t.y+i.y,e.object.y),e.object.x1=Math.max(t.x+i.x,e.object.x1),e.object.y1=Math.max(t.y+i.y,e.object.y1)})))},t.prototype.setObjectForTilemap=function(t){t.tilemap.height=Math.ceil(t.tiles.length/t.tilemap.width),this.setObjectForResizeable({position:t.renderPosition,width:t.tilemap.width*t.tilemap.tileWidth,height:t.tilemap.height*t.tilemap.tileHeight,rotation:t.rotation})},t.prototype.applyCullingInTiles=function(t){var e=this,i=t.tiles,n=t.tilemap,o=n.width,r=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%o*r&&e.viewport.x<=e.object.x+i%o*r+r&&e.viewport.y1>=e.object.y1-((i/o|0)*s+s)&&e.viewport.y<=e.object.y1-(i/o|0)*s?t:0}))},t.prototype.isInViewPort=function(t,e){switch(this.setViewport(e,t.location),t.type){case a.Video:case a.Mask:case a.Sprite:this.setObjectForResizeable(t);break;case a.Geometric:this.setObjectForGeometric(t);break;case a.Text:this.setObjectForText(t);break;case a.Tilemap:this.setObjectForTilemap(t)}return this.viewport.x1>=this.object.x&&this.viewport.x<=this.object.x1&&this.viewport.y1>=this.object.y&&this.viewport.y<=this.object.y1},t.prototype.applyCulling=function(t,e){var i=this;return e.filter((function(e){return!!i.isInViewPort(e,t)&&(e.type===a.Tilemap&&i.applyCullingInTiles(e),!0)}))},t}(),x=function(){return x=Object.assign||function(t){for(var e,i=1,n=arguments.length;i<n;i++)for(var o in e=arguments[i])Object.prototype.hasOwnProperty.call(e,o)&&(t[o]=e[o]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var M,_=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new _,this._center=new _,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof _&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new _,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}(),function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(M||(M={}));var w,C=function(){function t(t,e){this.webglManager=t,this.cullingManager=e,this.renderData=[],this.cameraData=[]}return t.prototype.addRenderData=function(t){this.renderData.push(t)},t.prototype.addCameraData=function(t){this.cameraData.push(t)},t.prototype.render=function(){var t=this;this.cameraData.sort((function(t,e){return t.depth-e.depth})).forEach((function(e){return t.renderByCamera(e)}))},t.prototype.renderByCamera=function(t){var e=this;this.cullingManager.applyCulling(t,this.renderData.filter((function(e){return t.layers.includes(e.layer)})).sort((function(e,i){return t.layers.indexOf(e.layer)-t.layers.indexOf(i.layer)})).map((function(t){return t.type===a.Tilemap?function(t){var e=x(x({},t),{culledTiles:[],tilemap:x(x({},t.tilemap),{height:Math.ceil(t.tiles.length/t.tilemap.width),realWidth:t.tilemap.width*t.tilemap.tileWidth,realHeight:0}),renderPosition:new _});return e.tilemap.realHeight=e.tilemap.height*e.tilemap.tileHeight,function(t){t.renderPosition.set(t.position.x+(t.orientation!==M.Center?t.tilemap.realWidth/2:0),t.position.y+(t.orientation===M.RightDown?-t.tilemap.realHeight/2:t.orientation===M.RightUp?t.tilemap.realHeight/2:0))}(e),e}(t):t}))).forEach((function(i){return e.webglManager.render(i,t)}))},t.prototype.clearData=function(){this.renderData=[],this.cameraData=[]},t.prototype.clearScreen=function(t){this.webglManager.clearCanvas(t)},t.prototype.preloadTexture=function(t){this.webglManager.createTexture(t)},t}();!function(t){t.LegacyWebGL=\"webgl\",t.WebGL2=\"webgl2\"}(w||(w={}));var j=function(){function t(t){if(this.canvas=t,this.contextVersion=this.getContextVersion(),!this.contextVersion)throw new Error(\"Your browser does not support WebGL.\");this.gl=this.canvas.getContext(this.contextVersion)}return t.prototype.getContextVersion=function(){return null!==this.canvas.getContext(w.WebGL2)?w.WebGL2:null!==this.canvas.getContext(w.LegacyWebGL)?w.LegacyWebGL:void 0},t}(),P=function(){function t(){this.fontAtlas=new Map}return t.prototype.hasFontAtlas=function(t){return this.fontAtlas.has(this.symbol(t))},t.prototype.getFontAtlas=function(t){return this.fontAtlas.get(this.symbol(t))},t.prototype.getOrCreate=function(t,e,i){var n;return null!==(n=this.getFontAtlas(e))&&void 0!==n?n:this.create(t,e,i)},t.prototype.create=function(t,e,i){this.bitmapSize=i,this.chars=[];for(var n=0;n<t.length;n+=2)for(var o=t[n];o<=t[n+1];o++)this.chars.push(String.fromCharCode(o));var r=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),r),r},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new O(t,this.bitmapSize,Math.ceil(Math.sqrt(this.chars.length))),i=e.canvas.getContext(\"2d\");i.clearRect(0,0,e.canvas.width,e.canvas.height),i.textBaseline=\"top\",i.fillStyle=\"#000\",i.font=\"\".concat(this.bitmapSize,\"px \").concat(t);for(var n=0,o=0,r=0;r<this.chars.length;r++)i.fillText(this.chars[r],n,o),e.glyphs.set(this.chars[r],{id:r,width:i.measureText(this.chars[r]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,o+=this.bitmapSize);return e},t}(),O=function(t,e,i){this.fontFaceFamily=t,this.bitmapFontSize=e,this.gridSize=i,this.canvas=document.createElement(\"canvas\"),this.glyphs=new Map,this.canvas.width=this.gridSize*this.bitmapFontSize,this.canvas.height=this.canvas.width},R=function(){function t(t,e){this.gl=t,this.shaderLoader=e}return t.prototype.create=function(t,e){var i=this.gl.createProgram(),n=this.shaderLoader.load(this.gl.VERTEX_SHADER,t),o=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,o),this.gl.linkProgram(i);var r=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,r)){var s=this.gl.getProgramInfoLog(i);throw this.gl.deleteProgram(i),new Error(\"Unable to initialize the Program: \".concat(s))}return i},t}(),A=function(){function t(t,e,i){this.gl=t,this.contextVersion=e,this.programFactory=i}return t.prototype.loadProgram=function(){this.program=this.contextVersion===w.WebGL2?this.programFactory.create(\"#version 300 es\\nprecision mediump float;\\n\\nin vec2 positionCoords;\\nin vec2 textureCoords;\\n\\nout vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision mediump float;\\n\\nout vec4 fragColor;\\n\\nin vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n fragColor = vec4(texColor.rgb, u_alpha * texColor.a); \\n } else {\\n fragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"):this.programFactory.create(\"precision mediump float;\\n\\nattribute vec2 positionCoords;\\nattribute vec2 textureCoords;\\n\\nvarying vec2 texCoords;\\n\\nuniform mat4 projectionMatrix;\\nuniform mat4 modelMatrix;\\nuniform mat4 textureMatrix;\\n\\nvoid main()\\n{\\n gl_Position = projectionMatrix * modelMatrix * vec4(positionCoords, 0, 1);\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"precision mediump float;\\n\\nvarying vec2 texCoords;\\n\\nuniform int u_renderTexture;\\nuniform sampler2D u_texImage;\\nuniform vec4 u_solidColor;\\n\\nuniform int u_useTintColor;\\nuniform vec4 u_tintColor;\\n\\nuniform int u_useMaskColor;\\nuniform vec4 u_maskColor;\\nuniform float u_maskColorMix;\\n\\nuniform float u_alpha;\\n\\nvoid main()\\n{\\n if (u_renderTexture == 1) {\\n vec4 texColor = texture2D(u_texImage, texCoords);\\n\\n if (texColor.a < 0.0001) {\\n discard;\\n }\\n\\n if (u_useTintColor == 1) {\\n texColor = u_tintColor * texColor;\\n }\\n\\n if (u_useMaskColor == 1) {\\n texColor = mix(texColor, u_maskColor, clamp(u_maskColorMix, 0.0, 1.0));\\n }\\n\\n gl_FragColor = vec4(texColor.rgb, u_alpha * texColor.a);\\n } else {\\n gl_FragColor = vec4(u_solidColor.rgb, u_alpha);\\n }\\n}\"),this.positionBuffer=this.gl.createBuffer(),this.textureBuffer=this.gl.createBuffer(),this.positionCoordsAttr=this.gl.getAttribLocation(this.program,\"positionCoords\"),this.texCoordsAttr=this.gl.getAttribLocation(this.program,\"textureCoords\"),this.modelMatrixUniform=this.gl.getUniformLocation(this.program,\"modelMatrix\"),this.projectionMatrixUniform=this.gl.getUniformLocation(this.program,\"projectionMatrix\"),this.textureMatrixUniform=this.gl.getUniformLocation(this.program,\"textureMatrix\"),this.renderTextureUniform=this.gl.getUniformLocation(this.program,\"u_renderTexture\"),this.textureUniform=this.gl.getUniformLocation(this.program,\"u_texImage\"),this.solidColorUniform=this.gl.getUniformLocation(this.program,\"u_solidColor\"),this.useTintColorUniform=this.gl.getUniformLocation(this.program,\"u_useTintColor\"),this.tintColorUniform=this.gl.getUniformLocation(this.program,\"u_tintColor\"),this.useMaskColorUniform=this.gl.getUniformLocation(this.program,\"u_useMaskColor\"),this.maskColorUniform=this.gl.getUniformLocation(this.program,\"u_maskColor\"),this.maskColorMixUniform=this.gl.getUniformLocation(this.program,\"u_maskColorMix\"),this.alphaUniform=this.gl.getUniformLocation(this.program,\"u_alpha\"),this.gl.useProgram(this.program),this.gl.blendFunc(this.gl.SRC_ALPHA,this.gl.ONE_MINUS_SRC_ALPHA),this.gl.enableVertexAttribArray(this.positionCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.positionBuffer),this.gl.vertexAttribPointer(this.positionCoordsAttr,2,this.gl.FLOAT,!1,0,0),this.gl.enableVertexAttribArray(this.texCoordsAttr),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.textureBuffer),this.gl.vertexAttribPointer(this.texCoordsAttr,2,this.gl.FLOAT,!1,0,0)},t}(),S=function(){function t(t){this.gl=t}return t.prototype.load=function(t,e){var i=this.gl.createShader(t);this.gl.shaderSource(i,e),this.gl.compileShader(i);var n=this.gl.COMPILE_STATUS;if(!this.gl.getShaderParameter(i,n)){var o=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(o))}return i},t}(),T=\"undefined\"!=typeof Float32Array?Float32Array:Array;function E(){var t=new T(16);return T!=Float32Array&&(t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[11]=0,t[12]=0,t[13]=0,t[14]=0),t[0]=1,t[5]=1,t[10]=1,t[15]=1,t}function D(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=1,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=1,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t}function F(t,e,i){var n,o,r,s,a,h,c,l,u,p,d,f,g=i[0],m=i[1],y=i[2];return e===t?(t[12]=e[0]*g+e[4]*m+e[8]*y+e[12],t[13]=e[1]*g+e[5]*m+e[9]*y+e[13],t[14]=e[2]*g+e[6]*m+e[10]*y+e[14],t[15]=e[3]*g+e[7]*m+e[11]*y+e[15]):(n=e[0],o=e[1],r=e[2],s=e[3],a=e[4],h=e[5],c=e[6],l=e[7],u=e[8],p=e[9],d=e[10],f=e[11],t[0]=n,t[1]=o,t[2]=r,t[3]=s,t[4]=a,t[5]=h,t[6]=c,t[7]=l,t[8]=u,t[9]=p,t[10]=d,t[11]=f,t[12]=n*g+a*m+u*y+e[12],t[13]=o*g+h*m+p*y+e[13],t[14]=r*g+c*m+d*y+e[14],t[15]=s*g+l*m+f*y+e[15]),t}function B(t,e,i){var n=i[0],o=i[1],r=i[2];return t[0]=e[0]*n,t[1]=e[1]*n,t[2]=e[2]*n,t[3]=e[3]*n,t[4]=e[4]*o,t[5]=e[5]*o,t[6]=e[6]*o,t[7]=e[7]*o,t[8]=e[8]*r,t[9]=e[9]*r,t[10]=e[10]*r,t[11]=e[11]*r,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t}function U(t,e,i){var n=Math.sin(i),o=Math.cos(i),r=e[0],s=e[1],a=e[2],h=e[3],c=e[4],l=e[5],u=e[6],p=e[7];return e!==t&&(t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11],t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15]),t[0]=r*o+c*n,t[1]=s*o+l*n,t[2]=a*o+u*n,t[3]=h*o+p*n,t[4]=c*o-r*n,t[5]=l*o-s*n,t[6]=u*o-a*n,t[7]=p*o-h*n,t}Math.hypot||(Math.hypot=function(){for(var t=0,e=arguments.length;e--;)t+=arguments[e]*arguments[e];return Math.sqrt(t)});var I,L=function(t){var e=/^#?([a-f\\d]{2})?([a-f\\d]{2})([a-f\\d]{2})([a-f\\d]{2})$/i.exec(t);return e?{r:parseInt(e[2],16)/256,g:parseInt(e[3],16)/256,b:parseInt(e[4],16)/256,a:void 0!==e[1]?parseInt(e[1],16)/256:1}:null},k=function(t,e,i,n){var o,r;(function(t,e,i,n,o,r,s){var a=1/(e-i),h=1/(n-o),c=1/(r-s);t[0]=-2*a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*h,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*c,t[11]=0,t[12]=(e+i)*a,t[13]=(o+n)*h,t[14]=(s+r)*c,t[15]=1})(t=D(t),-e.canvas.width/2,e.canvas.width/2,-e.canvas.height/2,e.canvas.height/2,-1,1),F(t,t,[0,0,0]),n===s.WorldSpace&&B(t,t,[null!==(o=i.zoom)&&void 0!==o?o:1,null!==(r=i.zoom)&&void 0!==r?r:1,1])},V=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],o=1;o<=60;o+=i)n.push(o);return n}(0,0,1).reduce((function(t,e){return b(b([],t,!0),[Math.cos(e*i),Math.sin(e*i)],!1)}),[]))}return t.prototype.render=function(t,e,i){switch(t.shape){case r.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case r.Line:this.renderLines(t,e,this.gl.LINES,i);break;case r.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var o,r=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(r)&&this.vertices.set(r,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var h=this.vertices.get(r);this.lastVertices===r&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,h,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,h,this.gl.DYNAMIC_DRAW)),this.lastVertices=r,this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.position,e.position):t.position),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(o=t.rotation)&&void 0!==o?o:0),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var c=L(t.color),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.solidColorUniform,l,u,p,d),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,h.length/2)},t.prototype.generateVerticesKey=function(t){return Symbol.for(t.reduce((function(t,e){return\"\".concat(t).concat(e.x).concat(e.y)}),t.length.toString()))},t.prototype.generatePolygonVertices=function(t){for(var e=[],i=0;i<t.length;i++)e.push(t[i].x,t[i].y);return e},t.prototype.renderCircumference=function(t,e){this.lastVertices=null,this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.circumferenceVertices,this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.position,e.position):t.position),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),B(this.modelMatrix,this.modelMatrix,[t.radius,t.radius,1]),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var i=L(t.color),n=i.r,o=i.g,r=i.b,a=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,o,r,a),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(this.gl.LINE_LOOP,0,this.circumferenceVertices.length/2)},t}(),G=function(){function t(t,e){this.gl=t,this.programManager=e,this.type=a.Mask,this.vertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E()}return t.prototype.render=function(t,e,i){var n,o;i!==a.Mask&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.vertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.position,e.position):t.position),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width,t.height,1]),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha>=0&&t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND),this.gl.uniform1i(this.programManager.renderTextureUniform,0);var r=L(t.color),h=r.r,c=r.g,l=r.b,u=r.a;this.gl.uniform4f(this.programManager.solidColorUniform,h,c,l,u),this.gl.uniform1f(this.programManager.alphaUniform,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),W=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,o,r,a;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.position,e.position):t.position),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.image.naturalWidth,t.slice.y/t.image.naturalHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.image.naturalWidth,t.slice.height/t.image.naturalHeight,1])),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var h=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===h&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(a=t.maskColorMix)&&void 0!==a?a:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}();!function(t){t[t.Center=0]=\"Center\",t[t.RightUp=1]=\"RightUp\",t[t.RightDown=2]=\"RightDown\",t[t.RightCenter=3]=\"RightCenter\"}(I||(I={}));var H=new _,z=new _,N=[32,126,161,255],Y=I.Center,X=function(){function t(t,e,i,n){this.gl=t,this.programManager=e,this.textureManager=i,this.fontAtlasFactory=n,this.type=a.Text,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.textSize=new _,this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var o=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(o,t),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),this.setPositionFromOrientation(t),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,this.modelPosition,e.position):this.modelPosition),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.fontSize,t.fontSize,1]),this.textureMatrix=D(this.textureMatrix),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),t.alpha<1?this.gl.enable(this.gl.BLEND):this.gl.disable(this.gl.BLEND);var r=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+o.fontFaceFamily,o.canvas,t.smooth);this.lastTexture===r&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,r),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=r),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.maskColorMixUniform,1),this.gl.uniform1i(this.programManager.useMaskColorUniform,1),this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.setDefaultValues=function(t){var e,i,n,o,r,s,a,h,c,l;t.bitmap?(t.bitmap.margin=null!==(e=t.bitmap.margin)&&void 0!==e?e:H,t.bitmap.spacing=null!==(i=t.bitmap.spacing)&&void 0!==i?i:z,t.bitmap.fontSize=null!==(n=t.bitmap.fontSize)&&void 0!==n?n:64,t.bitmap.charRanges=null!==(o=t.bitmap.charRanges)&&void 0!==o?o:N):t.bitmap={margin:H,spacing:z,fontSize:64,charRanges:N},t.color=null!==(r=t.color)&&void 0!==r?r:\"#000000\",t.letterSpacing=null!==(s=t.letterSpacing)&&void 0!==s?s:0,t.lineSeparation=null!==(a=t.lineSeparation)&&void 0!==a?a:0,t.alpha=null!==(h=t.alpha)&&void 0!==h?h:1,t.orientation=null!==(c=t.orientation)&&void 0!==c?c:Y,t.rotation=null!==(l=t.rotation)&&void 0!==l?l:0},t.prototype.generateTextVertices=function(t,e){var i=e.text,n=e.fontSize,o=e.bitmap,r=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;r/=n,s/=n;for(var l=0;l<i.length;l++){var u=i[l];if(\"\\n\"!==u){var p=t.glyphs.get(u);if(p){var d=p.width/t.bitmapFontSize;this.posVertices.push(a,h-1,a+d,h-1,a,h,a,h,a+d,h-1,a+d,h);var f=p.id%t.gridSize*t.bitmapFontSize,g=(p.id/t.gridSize|0)*t.bitmapFontSize,m=(f+o.margin.x)/t.canvas.width,y=(g+o.margin.y)/t.canvas.width,v=(f+p.width+o.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+o.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+r}}else c=Math.max(c,a),a=0,h-=1+s}this.textSize.set(Math.max(c,a)*n,Math.abs(h-1)*n)},t.prototype.setPositionFromOrientation=function(t){this.modelPosition.set(t.position.x+(t.orientation===I.Center?-this.textSize.x/2:0),t.position.y+(t.orientation===I.Center||t.orientation===I.RightCenter?this.textSize.y/2:t.orientation===I.RightUp?this.textSize.y:0))},t}(),q=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.posVertices=[],this.texVertices=[],this.lastTexture=null,this.tileset={width:0,tileWidth:0,tileHeight:0,texMargin:new _,texSpacing:new _,texWidth:0,texHeight:0,texCorrection:new _},this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E()}return t.prototype.render=function(t,e,i){var n,o,r,h;if(0===t.culledTiles.reduce((function(t,e){return t+e}),0))throw new Error(\"Nothing to render\");if(this.processTileset(t),this.generateVertices(t),0===this.posVertices.length)throw new Error(\"Nothing to render\");this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.posVertices),this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,new Float32Array(this.texVertices),this.gl.DYNAMIC_DRAW),this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.renderPosition,e.position):t.renderPosition),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.tilemap.tileWidth*(t.flipHorizontal?-1:1),t.tilemap.tileHeight*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),B(this.textureMatrix,this.textureMatrix,[this.tileset.tileWidth/t.tileset.image.naturalWidth,this.tileset.tileHeight/t.tileset.image.naturalHeight,1]),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var c=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===c&&i===a.Tilemap||(this.gl.bindTexture(this.gl.TEXTURE_2D,c),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=c),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var l=L(t.tintColor),u=l.r,p=l.g,d=l.b,f=l.a;this.gl.uniform4f(this.programManager.tintColorUniform,u,p,d,f)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var g=L(t.maskColor);u=g.r,p=g.g,d=g.b,this.gl.uniform4f(this.programManager.maskColorUniform,u,p,d,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(h=t.maskColorMix)&&void 0!==h?h:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,o,r,s,a,h=t.tileset;h.margin=null!==(e=h.margin)&&void 0!==e?e:new _,h.spacing=null!==(i=h.spacing)&&void 0!==i?i:new _,h.correction=null!==(n=h.correction)&&void 0!==n?n:new _,this.tileset.width=h.width,this.tileset.tileWidth=h.tileWidth+(null!==(o=h.margin.x)&&void 0!==o?o:0)+(null!==(r=h.spacing.x)&&void 0!==r?r:0),this.tileset.tileHeight=h.tileHeight+(null!==(s=h.margin.y)&&void 0!==s?s:0)+(null!==(a=h.spacing.y)&&void 0!==a?a:0),this.tileset.texMargin.set(h.margin.x/this.tileset.tileWidth,h.margin.y/this.tileset.tileHeight),this.tileset.texSpacing.set(h.spacing.x/this.tileset.tileWidth,h.spacing.y/this.tileset.tileHeight),this.tileset.texCorrection.set(h.correction.x/this.tileset.tileWidth,h.correction.y/this.tileset.tileHeight),this.tileset.texWidth=1-this.tileset.texMargin.x-this.tileset.texSpacing.x-2*this.tileset.texCorrection.x,this.tileset.texHeight=1-this.tileset.texMargin.y-this.tileset.texSpacing.y-2*this.tileset.texCorrection.y},t.prototype.generateVertices=function(t){var e=this,i=t.culledTiles,n=t.tilemap;this.posVertices=[],this.texVertices=[];var o=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var r=i%n.width-n.width/2,s=o/2-Math.floor(i/n.width);e.posVertices.push(r,s-1,r+1,s-1,r,s,r,s,r+1,s-1,r+1,s);var a=(t-1)%e.tileset.width+e.tileset.texMargin.x+e.tileset.texCorrection.x,h=Math.floor((t-1)/e.tileset.width)+e.tileset.texMargin.y+e.tileset.texCorrection.y;e.texVertices.push(a,h+e.tileset.texHeight,a+e.tileset.texWidth,h+e.tileset.texHeight,a,h,a,h,a+e.tileset.texWidth,h+e.tileset.texHeight,a+e.tileset.texWidth,h)}}))},t}(),K=function(){function t(t,e,i){this.gl=t,this.programManager=e,this.textureManager=i,this.lastTexture=null,this.modelPosition=new _,this.projectionMatrix=E(),this.modelMatrix=E(),this.textureMatrix=E(),this.posVertices=new Float32Array([-.5,-.5,-.5,.5,.5,-.5,.5,-.5,-.5,.5,.5,.5]),this.texVertices=new Float32Array([0,1,0,0,1,1,1,1,0,0,1,0])}return t.prototype.render=function(t,e,i){var n,o,r,a;i!==t.type&&(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.posVertices,this.gl.STATIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,this.texVertices,this.gl.STATIC_DRAW)),this.modelMatrix=D(this.modelMatrix),_.round(this.modelPosition,t.location===s.WorldSpace?_.subtract(this.modelPosition,t.position,e.position):t.position),F(this.modelMatrix,this.modelMatrix,[this.modelPosition.x,this.modelPosition.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(n=t.rotation)&&void 0!==n?n:0),B(this.modelMatrix,this.modelMatrix,[t.width*(t.flipHorizontal?-1:1),t.height*(t.flipVertical?-1:1),1]),this.textureMatrix=D(this.textureMatrix),t.slice&&(F(this.textureMatrix,this.textureMatrix,[t.slice.x/t.video.videoWidth,t.slice.y/t.video.videoHeight,0]),B(this.textureMatrix,this.textureMatrix,[t.slice.width/t.video.videoWidth,t.slice.height/t.video.videoHeight,1])),k(this.projectionMatrix,this.gl,e,t.location),this.gl.uniformMatrix4fv(this.programManager.projectionMatrixUniform,!1,this.projectionMatrix),this.gl.uniformMatrix4fv(this.programManager.modelMatrixUniform,!1,this.modelMatrix),this.gl.uniformMatrix4fv(this.programManager.textureMatrixUniform,!1,this.textureMatrix),this.gl.enable(this.gl.BLEND);var h=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===h&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,h),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=h),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t.video),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var c=L(t.tintColor),l=c.r,u=c.g,p=c.b,d=c.a;this.gl.uniform4f(this.programManager.tintColorUniform,l,u,p,d)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var f=L(t.maskColor);l=f.r,u=f.g,p=f.b,this.gl.uniform4f(this.programManager.maskColorUniform,l,u,p,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(a=t.maskColorMix)&&void 0!==a?a:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,6)},t}(),Q=function(){function t(t){this.gl=t}return t.prototype.createFromImage=function(t,e,i){var n=this;return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),t.naturalWidth?this.createFromSource(t,i,e):t.addEventListener(\"load\",(function(){return n.createFromSource(t,i,e)})),i},t.prototype.createFromCanvas=function(t,e,i){return void 0===e&&(e=!0),void 0===i&&(i=null),i=null!=i?i:this.gl.createTexture(),this.createFromSource(t,i,e),i},t.prototype.createPixelTexture=function(){var t=this.gl.createTexture();return this.gl.bindTexture(this.gl.TEXTURE_2D,t),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,1,1,0,this.gl.RGBA,this.gl.UNSIGNED_BYTE,new Uint8Array([0,0,0,255])),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR),this.gl.bindTexture(this.gl.TEXTURE_2D,null),t},t.prototype.createFromSource=function(t,e,i){void 0===i&&(i=!0),this.gl.bindTexture(this.gl.TEXTURE_2D,e),this.gl.texImage2D(this.gl.TEXTURE_2D,0,this.gl.RGBA,this.gl.RGBA,this.gl.UNSIGNED_BYTE,t),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_S,this.gl.CLAMP_TO_EDGE),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_WRAP_T,this.gl.CLAMP_TO_EDGE),!1===i?(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.NEAREST),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.NEAREST)):(this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MIN_FILTER,this.gl.LINEAR),this.gl.texParameteri(this.gl.TEXTURE_2D,this.gl.TEXTURE_MAG_FILTER,this.gl.LINEAR)),this.gl.bindTexture(this.gl.TEXTURE_2D,null)},t}(),$=function(){function t(t){this.textureFactory=t,this.textures=new Map}return t.prototype.getOrCreateTextureFromImage=function(t,e){var i;return void 0===e&&(e=!0),null!==(i=this.textures.get(Symbol.for(t.src)))&&void 0!==i?i:this.createTextureFromImage(t,e)},t.prototype.createTextureFromImage=function(t,e){void 0===e&&(e=!0);var i=this.textureFactory.createFromImage(t,e);return this.textures.set(Symbol.for(t.src),i),i},t.prototype.getOrCreateTextureFromCanvas=function(t,e,i){var n;return void 0===i&&(i=!0),null!==(n=this.textures.get(Symbol.for(t)))&&void 0!==n?n:this.createTextureFromCanvas(t,e,i)},t.prototype.createTextureFromCanvas=function(t,e,i){void 0===i&&(i=!0);var n=this.textureFactory.createFromCanvas(e,i);return this.textures.set(Symbol.for(t),n),n},t.prototype.getOrCreateTextureFromVideo=function(t){var e;return null!==(e=this.textures.get(Symbol.for(t.src)))&&void 0!==e?e:this.createTextureFromVideo(t)},t.prototype.createTextureFromVideo=function(t){var e=this.textureFactory.createPixelTexture();return this.textures.set(Symbol.for(t.src),e),e},t}(),J=function(){function t(t,e,i,n){this.gl=t,this.textureManager=i,this.renderers=n,e.loadProgram()}return t.prototype.render=function(t,e){try{this.renderers.get(t.type).render(t,e,this.lastRender),this.lastRender=t.type}catch(t){return}},t.prototype.clearCanvas=function(t){var e=L(t);this.gl.clearColor(e.r,e.g,e.b,e.a),this.gl.clear(this.gl.COLOR_BUFFER_BIT)},t.prototype.createTexture=function(t,e){void 0===e&&(e=!1),this.textureManager.createTextureFromImage(t,e)},t}(),Z=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),tt=function(){function t(t,e,i,n){this._position=new Z,this._center=new Z,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Z&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),et=function(t,e,i){return Math.min(i,Math.max(e,t))};!function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Z,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var it,nt=function(){function t(){this.lastId=0}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,o=t.physics,r=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:++this.lastId,active:!0,layer:i,shape:e,updateCollisions:n,physics:o,position:null!=r?r:new Z,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),ot=function(){function t(t,e){void 0===e&&(e=0),this.area=new tt(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,e){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,e):this.items.push([t,e])},t.prototype.split=function(){var e=this,i=this.area.width/2,n=this.area.height/2;this.children=[new tt(this.area.x,this.area.y,i,n),new tt(this.area.x,this.area.y+n,i,n),new tt(this.area.x+i,this.area.y+n,i,n),new tt(this.area.x+i,this.area.y,i,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,e){this.getChildrenForArea(e).forEach((function(i){return i.insert(t,e)}))},t.prototype.retrieve=function(t){var e=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(i){return e.push.apply(e,i.retrieve(t))})):this.items.forEach((function(t){return e.push(t[0])})),e},t.prototype.getChildrenForArea=function(t){var e=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&e.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&e.push(this.children[3]),e},t}(),rt=function(t,e,i,n){return Math.min((t-e)/i|0,n-1)},st=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=et(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var e=0;e<this._subdivisions;e++){this.itemsInCells[e]=[];for(var i=0;i<this._subdivisions;i++)this.itemsInCells[e][i]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var e=0;e<this._subdivisions;e++)this.itemsInCells[t][e]=[]},t.prototype.insert=function(t,e){this.updateCoordinates(e);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].push(t)},t.prototype.retrieve=function(t){var e=[];this.updateCoordinates(t);for(var i=this.coordinates.x0;i<=this.coordinates.x1;i++)for(var n=this.coordinates.y0;n<=this.coordinates.y1;n++)this.itemsInCells[i][n].forEach((function(t){return e.includes(t)?null:e.push(t)}));return e},t.prototype.updateCoordinates=function(t){this.coordinates.x0=rt(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=rt(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=rt(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=rt(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(it||(it={}));var at,ht=function(){function t(t,e,i,n){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new Z,this.maxArea=new Z,this.newArea=new tt(0,0,0,0),this.method=t,this.colliders=[],this.activeColliders=[],this.collisionMatrix=n,this.setupBroadPhaseResolver(null!=e?e:it.QuadTree,i)}return t.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new tt(0,0,0,0),this.fixedCollisionArea=!!e,t===it.SpartialGrid?this.broadPhaseResolver=new st(this.collisionArea):this.broadPhaseResolver=new ot(this.collisionArea)},t.prototype.addCollider=function(t){this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders.find((function(e){return e.id===t}))},t.prototype.removeCollider=function(t){var e=this.colliders.indexOf(t);e>=0&&this.colliders.splice(e,1)},t.prototype.clearColliders=function(){this.colliders=[]},t.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(e){return e.localCollider.id===t.id})):[]},t.prototype.refreshCollisionsForCollider=function(t){this.getCollider(t.id)&&t.active&&(this.collisions=this.collisions.filter((function(e){return e.localCollider.id!==t.id&&e.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},t.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(e){t.updateShape(e)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(e){var i=e.id,n=e.shape.boundingBox;return t.broadPhaseResolver.insert(i,n)})),this.updateCollisions())},t.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},t.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(e){var i=e.shape.boundingBox;t.minArea.set(Math.min(i.x,t.minArea.x),Math.min(i.y,t.minArea.y)),t.maxArea.set(Math.max(i.x1,t.maxArea.x),Math.max(i.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},t.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof st&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},t.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(e){return t.narrowPhase(e,t.broadPhase(e))}))},t.prototype.broadPhase=function(t){var e=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.getCollider(t)})).filter((function(t){return t.active})).filter((function(i){return e.collisionMatrix.some((function(e){return e[0]===t.layer&&e[1]===i.layer||e[1]===t.layer&&e[0]===i.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return e.getCollider(t)})).filter((function(t){return t.active}))},t.prototype.narrowPhase=function(t,e){var i=this;e.filter((function(e){return!(t.group&&e.group&&e.group===t.group||t.id===e.id)})).forEach((function(e){if(!i.isResolved(t,e)){var n=i.method.getCollisionResolution(t.shape,e.shape);null!==n&&(i.collisions.push({localCollider:t,remoteCollider:e,resolution:n},{localCollider:e,remoteCollider:t,resolution:{direction:n.displacementDirection,displacementDirection:n.direction,penetration:n.penetration}}),t.onCollision&&t.onCollision(n))}}))},t.prototype.isResolved=function(t,e){for(var i=0,n=this.collisions;i<n.length;i++){var o=n[i];if(o.localCollider.id===t.id&&o.remoteCollider.id===e.id)return!0}return!1},t}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(at||(at={}));var ct,lt=function(){function t(t,e,i){this.AABBResolver=t,this.circumferenceAABBResolver=e,this.circumferenceResolver=i}return t.prototype.getCollisionResolution=function(t,e){return t.type===at.Polygon&&e.type===at.Polygon?this.AABBResolver.resolve(t,e):t.type===at.Circumference&&e.type===at.Polygon?this.circumferenceAABBResolver.resolve(t,e):t.type===at.Polygon&&e.type===at.Circumference?this.circumferenceAABBResolver.resolve(e,t,!0):t.type===at.Circumference&&e.type===at.Circumference?this.circumferenceResolver.resolve(t,e):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(ct||(ct={}));var ut=function(){function t(t,e){this.circumferenceResolver=t,this.satResolver=e}return t.prototype.getCollisionResolution=function(t,e){return t.type===at.Circumference&&e.type===at.Circumference?this.circumferenceResolver.resolve(t,e):this.satResolver.resolve(t,e)},t}(),pt=function(){function t(){this.direction=new Z,this.displacementDirection=new Z}return t.prototype.resolve=function(t,e){var i=t.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(i.x1,n.x1)-Math.max(i.x,n.x),this.overlapY=Math.min(i.y1,n.y1)-Math.max(i.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(i,n),this.direction.set(Math.sign(n.center.x-i.center.x),Math.sign(n.center.y-i.center.y)),this.preventContainment(i,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),Z.unit(this.displacementDirection,this.displacementDirection),{direction:Z.scale(new Z,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},t.prototype.checkOverlapForLines=function(t,e){0!==t.width&&0!==e.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-e.x),Math.abs(t.x1-e.x1))),0!==t.height&&0!==e.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-e.y),Math.abs(t.y1-e.y1)))},t.prototype.preventContainment=function(t,e){if(this.overlapY>0&&(t.y1>e.y1&&t.y<e.y||t.y1<e.y1&&t.y>e.y)){var i=Math.abs(t.y-e.y),n=Math.abs(t.y1-e.y1);this.overlapY+=i<n?i:n}this.overlapX>0&&(t.x1>e.x1&&t.x<e.x||t.x1<e.x1&&t.x>e.x)&&(i=Math.abs(t.x-e.x),n=Math.abs(t.x1-e.x1),this.overlapX+=i<n?i:n)},t}(),dt=function(){function t(){this.closestPoint=new Z,this.distance=new Z,this.direction=new Z}return t.prototype.resolve=function(t,e,i){return void 0===i&&(i=!1),this.closestPoint.set(et(t.position.x,e.boundingBox.x,e.boundingBox.x1),et(t.position.y,e.boundingBox.y,e.boundingBox.y1)),Z.subtract(this.distance,this.closestPoint,t.position),this.distance.magnitude>t.radius?null:(Z.unit(this.direction,this.distance),{direction:i?Z.scale(new Z,this.direction,-1):this.direction.clone(),displacementDirection:i?this.direction.clone():Z.scale(new Z,this.direction,-1),penetration:t.radius-this.distance.magnitude})},t}(),ft=function(){function t(){this.distance=new Z,this.direction=new Z}return t.prototype.resolve=function(t,e){return Z.subtract(this.distance,e.position,t.position),this.distance.magnitude>t.radius+e.radius?null:(Z.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:Z.scale(new Z,this.direction,-1),penetration:t.radius+e.radius-this.distance.magnitude})},t}(),gt=function(t,e){return gt=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,e){t.__proto__=e}||function(t,e){for(var i in e)Object.prototype.hasOwnProperty.call(e,i)&&(t[i]=e[i])},gt(t,e)};function mt(t,e,i){if(i||2===arguments.length)for(var n,o=0,r=e.length;o<r;o++)!n&&o in e||(n||(n=Array.prototype.slice.call(e,0,o)),n[o]=e[o]);return t.concat(n||Array.prototype.slice.call(e))}\"function\"==typeof SuppressedError&&SuppressedError;var yt,vt=function(){function t(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new Z,this.distance=new Z(1/0,1/0),this.cache=new Z}return t.prototype.resolve=function(t,e){var i=this;this.minOverlap=1/0,t.type===at.Circumference?this.setCircumferenceAxis(t,e):e.type===at.Circumference&&this.setCircumferenceAxis(e,t),this.axes=mt([],t.projectionAxes,!0),e.projectionAxes.forEach((function(t){return i.axes.some((function(e){return e.equals(t)}))?null:i.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(t.type===at.Circumference?this.setCircumferenceVertices(t,this.axes[n]):e.type===at.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,t,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var o=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);o<r?this.currentOverlap+=o:(this.currentOverlap+=r,Z.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&Z.scale(this.smallestAxis,this.axes[n],-1))}return{direction:Z.scale(new Z,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},t.prototype.projectShapeOntoAxis=function(t,e,i){return t.min=1/0,t.max=-1/0,e.vertices.forEach((function(e){t.min=Math.min(Z.dot(i,e),t.min),t.max=Math.max(Z.dot(i,e),t.max)})),t},t.prototype.setCircumferenceAxis=function(t,e){var i=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){Z.subtract(i.cache,e,t.position),i.cache.magnitude<i.distance.magnitude&&i.distance.copy(i.cache)})),Z.unit(t.projectionAxes[0],this.distance)},t.prototype.setCircumferenceVertices=function(t,e){Z.add(t.vertices[0],t.position,Z.scale(this.cache,Z.unit(this.cache,e),-t.radius)),Z.add(t.vertices[1],t.position,Z.scale(this.cache,Z.unit(this.cache,e),t.radius))},t}(),xt=function(){function t(t,e,i,n){this.collisionManager=t,this.colliderFactory=e,this.rigidBodyManager=i,this.rigidBodyFactory=n}return t.prototype.addCollider=function(t){var e=this.colliderFactory.create(t);return this.collisionManager.addCollider(e),e},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.addRigidBody=function(t){var e=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(e),e},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),bt=function(){function t(){this.lastId=0}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,o=t.position,r=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{id:++this.lastId,active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=o?o:new Z,velocity:null!=r?r:new Z,onResolve:s}},t}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(yt||(yt={}));var Mt=[\"x\",\"y\"],_t=function(){function t(t){this.collisionManager=t,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new Z,this.displacement=new Z,this.cacheDisplacement=0}return t.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},t.prototype.removeRigidBody=function(t){var e=this.rigidBodies.indexOf(t);e>=0&&this.rigidBodies.splice(e,1)},t.prototype.clearRigidBodies=function(){this.rigidBodies=[]},t.prototype.resolve=function(t){var e=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,e){return mt(mt([],t,!0),e.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(i){i.type===yt.Dynamic?e.dynamicUpdate(i,t):i.type===yt.Kinematic&&e.kinematicUpdate(i,t),i.onResolve&&i.onResolve(i)}))},t.prototype.dynamicUpdate=function(t,e){var i=this;this.applyGravity(t,e),Mt.forEach((function(n){i.applyVelocity(t,e,n),i.obtainDisplacement(t,n),i.applyReposition(t,n)}))},t.prototype.kinematicUpdate=function(t,e){var i=this;Z.add(t.position,t.position,Z.scale(this.velocity,t.velocity,e)),t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){Z.add(t.position,t.position,i.velocity),i.collisionManager.refreshCollisionsForCollider(t)}))},t.prototype.applyGravity=function(t,e){t.gravity>0&&(t.velocity.y-=t.gravity*e)},t.prototype.applyVelocity=function(t,e,i){var n=this;this.velocity[i]=t.velocity[i]*e,0!==this.velocity[i]&&(t.position[i]+=this.velocity[i],t.colliderIds.map((function(t){return n.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=n.velocity[i],n.collisionManager.refreshCollisionsForCollider(t)})))},t.prototype.obtainDisplacement=function(t,e){var i=this;this.displacement[e]=0,this.getCollisions(t).forEach((function(t){i.cacheDisplacement=t.resolution.displacementDirection[e]*t.resolution.penetration,i.displacement[e]=Math.abs(i.displacement[e])>Math.abs(i.cacheDisplacement)?i.displacement[e]:i.cacheDisplacement}))},t.prototype.applyReposition=function(t,e){var i=this;0!==this.displacement[e]&&(t.position[e]+=this.displacement[e],t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=i.displacement[e],i.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[e])!==Math.sign(t.velocity[e])&&(t.velocity[e]=0))},t.prototype.getCollisions=function(t){var e=this;return t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,i){return t.push.apply(t,e.collisionManager.getCollisionsForCollider(i).filter((function(t){return t.remoteCollider.physics&&e.colliders.includes(t.remoteCollider.id)}))),t}),[])},t}(),wt=function(){function t(t){this.radius=t,this.type=at.Circumference,this.boundingBox=new tt(0,0,0,0),this.vertices=[new Z,new Z],this.projectionAxes=[new Z],this._position=new Z}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateBoundingBox()},t.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},t}(),Ct=function(){function t(t){this.vertexModel=t,this.type=at.Polygon,this.vertices=[new Z,new Z],this.projectionAxes=[new Z],this.boundingBox=new tt(0,0,0,0),this.rotation=0,this._position=new Z}return t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},t.prototype.updateProjectionAxes=function(){Z.normal(this.projectionAxes[0],Z.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},t}(),jt=function(){function t(t){this.vertexModel=t,this.type=at.Polygon,this.vertices=[],this.boundingBox=new tt(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new Z,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var e=0;e<this.vertexModel.length;e++)this.vertices.push(new Z),this._projectionAxes.push(new Z)}return Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),t.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},t.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},t.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(e){t.boxMinX=Math.min(e.x,t.boxMinX),t.boxMinY=Math.min(e.y,t.boxMinY),t.boxMaxX=Math.max(e.x,t.boxMaxX),t.boxMaxY=Math.max(e.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},t.prototype.updateProjectionAxes=function(){for(var t,e=0;e<this.vertices.length;e++)Z.normal(this._projectionAxes[e],Z.subtract(this._projectionAxes[e],null!==(t=this.vertices[e+1])&&void 0!==t?t:this.vertices[0],this.vertices[e]))},t}(),Pt=function(t){function e(e,i){var n=t.call(this,[new Z(-e/2,-i/2),new Z(-e/2,i/2),new Z(e/2,i/2),new Z(e/2,-i/2)])||this;return n.width=e,n.height=i,n._projectionAxes=[new Z,new Z],n}return function(t,e){if(\"function\"!=typeof e&&null!==e)throw new TypeError(\"Class extends value \"+String(e)+\" is not a constructor or null\");function i(){this.constructor=t}gt(t,e),t.prototype=null===e?Object.create(e):(i.prototype=e.prototype,new i)}(e,t),e.prototype.updateSize=function(t,e){this.width=t,this.height=e,this.vertexModel[0].set(-t/2,-e/2),this.vertexModel[1].set(-t/2,e/2),this.vertexModel[2].set(t/2,e/2),this.vertexModel[3].set(t/2,-e/2)},e.prototype.updateProjectionAxes=function(){Z.unit(this.projectionAxes[0],Z.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),Z.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(jt),Ot=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function t(t,e,i,n){this._position=new Ot,this._center=new Ot,this._width=0,this._height=0,this.set(t,e,i,n)}Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Ot&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)}}(),function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Ot,t?this.radians=t:e&&(this.degrees=e)}Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var Rt,At=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new St),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var i=e[t];null!==i&&(!1===this.gamepads.has(i.index)?this.gamepadConnected(i):this.gamepads.get(i.index).updateFromGamepad(i))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),St=function(){function t(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new Ot,this._leftStickAxes=new Ot,this._rightStickAxes=new Ot,this._vibrating=!1}return t.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,i){return e.buttons.set(i,t.pressed)})),t.axes.forEach((function(t,i){return e.axes.set(i,t)}))},Object.defineProperty(t.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),t.prototype.getButtonPressed=function(t){return this.buttons.get(t)},t.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(t.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),t.prototype.vibrate=function(t,e,i,n){var o=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===i&&(i=.2),void 0===n&&(n=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:i,startDelay:n}).catch((function(){return o._vibrating=!1})).finally((function(){return o._vibrating=!1})))},t}(),Tt=function(){function t(t,e,i,n){this.mouse=t,this.keyboard=e,this.gamepad=i,this.touch=n}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),Et=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var i=e.pressedKeys.indexOf(t.code);-1!==i&&e.pressedKeys.splice(i,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t||null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,i){var n;return t&&null!==(n=e.keyMap.get(i))&&void 0!==n&&n}),!0)},t.prototype.isPressedReturn=function(t,e,i){return this.keyMap.get(t)?e:i},t.prototype.orPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t||null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!1)?e:i},t.prototype.andPressedReturn=function(t,e,i){var n=this;return t.reduce((function(t,e){var i;return t&&null!==(i=n.keyMap.get(e))&&void 0!==i&&i}),!0)?e:i},t}(),Dt=function(){function t(t){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new Ot(0,0),this._hasMoved=!1,this.lastPositionInViewport=new Ot(0,0),this.canvas=t,this.setup()}return Object.defineProperty(t.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),t.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1},t.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)}))},t.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},t.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},t.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},t}(),Ft=function(){function t(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(t.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),t.prototype.updatePosition=function(t){if(t.preventDefault(),t.stopPropagation(),this._interactions=[],0!==t.targetTouches.length)for(var e=0;e<t.targetTouches.length;e++)this._interactions[e]={positionInViewport:new Ot((t.targetTouches[e].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(t.targetTouches[e].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new Ot(t.targetTouches[e].radiusX,t.targetTouches[e].radiusY)}},t}();!function(t){t.Image=\"Image\",t.Audio=\"Audio\",t.Font=\"Font\",t.Video=\"Video\"}(Rt||(Rt={}));var Bt,Ut=function(){function t(t){this.renderManager=t,this.assets=[]}return t.prototype.getAssetsLoaded=function(){return this.assets.reduce((function(t,e){return t&&e.loaded}),!0)},t.prototype.loadImage=function(t,e){var i=this;void 0===e&&(e=!1);var n=new Image;n.crossOrigin=\"\",n.src=t;var o=this.createAsset(t,Rt.Image,n),r=function(){e&&i.renderManager.preloadTexture(n),o.loaded=!0};return n.naturalWidth?r():n.addEventListener(\"load\",r),n},t.prototype.loadAudio=function(t){var e=new Audio;e.src=t;var i=this.createAsset(t,Rt.Audio,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.loadFont=function(t,e){var i=new FontFace(t,\"url(\".concat(e,\")\")),n=this.createAsset(e,Rt.Font,i);return n.family=t,i.load().then((function(t){document.fonts.add(t),n.loaded=!0})),i},t.prototype.loadVideo=function(t){var e=document.createElement(\"video\");e.playsInline=!0,e.src=t;var i=this.createAsset(t,Rt.Video,e);return e.duration?i.loaded=!0:e.addEventListener(\"canplaythrough\",(function(){return i.loaded=!0})),e},t.prototype.getImage=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Rt.Image&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getAudio=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Rt.Audio&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.getFont=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Rt.Font&&e.family===t})))||void 0===e?void 0:e.element},t.prototype.getVideo=function(t){var e;return null===(e=this.assets.find((function(e){return e.type===Rt.Video&&e.url===t})))||void 0===e?void 0:e.element},t.prototype.createAsset=function(t,e,i){var n={type:e,url:t,element:i,loaded:!1};return this.assets.push(n),n},t}(),It=function(t){function i(e){var i=t.call(this,e)||this;return i.name=\"AngryPixelException\",i}return e(i,t),i}(Error),Lt=function(){function t(t,e,i){if(this._canvas=null,!t)throw new It(\"containerNode cannot be empty or null.\");this.containerNode=t,this.gameWidth=e,this.gameHeight=i,this.setupCanvas()}return Object.defineProperty(t.prototype,\"canvas\",{get:function(){return this._canvas},enumerable:!1,configurable:!0}),t.prototype.setupCanvas=function(){this._canvas=document.createElement(\"canvas\"),this._canvas.id=\"angryPixelGameCanvas\",this._canvas.width=Math.floor(this.gameWidth),this._canvas.height=Math.floor(this.gameHeight),this.canvas.tabIndex=0,this._canvas.addEventListener(\"contextmenu\",(function(t){return t.preventDefault()})),this.containerNode.appendChild(this._canvas),this.canvas.focus()},t}(),kt=function(){function t(t){this.container=t,this.gameObjects=[],this.lastId=0}return t.prototype.addGameObject=function(t,e,n,o){var r=new t(this.container,++this.lastId,o,n);return this.gameObjects.push(r),r.dispatch(i.Init,e),r},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):o([],this.gameObjects,!0)},t.prototype.findGameObjectById=function(t){return this.gameObjects.find((function(e){return e.id===t}))},t.prototype.findGameObject=function(t){return\"string\"==typeof t?this.gameObjects.find((function(e){return e.name===t})):this.gameObjects.find((function(e){return e instanceof t}))},t.prototype.findGameObjectsByParent=function(t){return this.gameObjects.filter((function(e){return e.parent===t}))},t.prototype.findGameObjectByParent=function(t,e){return\"string\"==typeof e?this.gameObjects.find((function(i){return i.name===e&&i.parent===t})):this.gameObjects.find((function(i){return i instanceof e&&i.parent===t}))},t.prototype.findGameObjectsByTag=function(t){return this.gameObjects.filter((function(e){return e.tag===t}))},t.prototype.destroyAllGameObjects=function(t){var e=this;void 0===t&&(t=!1),this.gameObjects.filter((function(e){return t||!e.keep})).forEach((function(t){return e.destroy(t,!1)}))},t.prototype.destroyGameObject=function(t){this.destroy(t,!0)},t.prototype.destroy=function(t,e){var n=this.gameObjects.indexOf(t);if(-1!==n){var o=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(o),o.dispatch(i.Destroy)}},t.prototype.destroyChildren=function(t){var e=this;this.findGameObjectsByParent(t).forEach((function(t){return e.destroyGameObject(t)}))},t}(),Vt=function(){function t(t,e,n,o){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=o,this.running=!1,this.gameObjects=[],this.components=[],this.changingScene=!1,this.sceneEvents=[i.Start,i.Update,i.StopGame],this.gameObjectEvents=[i.Start,i.Update]}return t.prototype.start=function(){this.startLoop(!0)},t.prototype.pause=function(){this.running=!1},t.prototype.resume=function(){this.startLoop(!1)},t.prototype.stop=function(){this.running=!1,this.dispatchFrameEvent(i.StopGame),this.physicsManager.clear()},t.prototype.startLoop=function(t){this.running||(this.running=!0,t&&this.sceneManager.loadOpeningScene(),this.asyncGameLoop(),this.timeManager.gameFramerate!==this.timeManager.physicsFramerate&&this.asyncPhysicsLoop())},t.prototype.gameLogicIteration=function(t){this.timeManager.updateForGame(t),this.sceneManager.pendingSceneToload()&&(this.sceneManager.loadPendingScene(),this.changingScene=!1),this.load(),this.dispatchFrameEvent(i.Start),this.dispatchFrameEvent(i.Update),this.dispatchFrameEvent(i.UpdateEngine),this.dispatchFrameEvent(i.UpdateTransform),this.timeManager.gameFramerate===this.timeManager.physicsFramerate&&(this.timeManager.updateForPhysics(t),this.physicsIteration()),this.sceneManager.pendingSceneToload()&&(this.changingScene=!0,this.sceneManager.unloadCurrentScene())},t.prototype.physicsIteration=function(){this.timeManager.timeScale<=0||this.changingScene||(this.dispatchFrameEvent(i.UpdatePhysics),this.dispatchFrameEvent(i.UpdateCollider),this.dispatchFrameEvent(i.UpdateTransform),this.physicsManager.resolve(this.timeManager.physicsDeltaTime))},t.prototype.asyncGameLoop=function(){var t=this;this.gameInterval=setInterval((function(){if(!t.running)return clearInterval(t.gameInterval);t.gameLogicIteration(process.uptime())}),1e3/this.timeManager.gameFramerate)},t.prototype.asyncPhysicsLoop=function(){var t=this;this.physicsInterval=setInterval((function(){if(!t.running)return clearInterval(t.physicsInterval);t.timeManager.updateForPhysics(process.uptime()),t.physicsIteration()}),1e3/this.timeManager.physicsFramerate)},t.prototype.load=function(){this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=this.gameObjects.reduce((function(t,e){return o(o([],t,!0),e.getComponents().filter((function(t){return t.active})),!0)}),[])},t.prototype.dispatchFrameEvent=function(t){this.sceneEvents.includes(t)?this.loadedScene.dispatch(t):this.gameObjectEvents.includes(t)&&this.gameObjects.filter((function(t){return t.active})).forEach((function(e){return e.dispatch(t)})),this.components.filter((function(t){return t.active})).forEach((function(e){return e.dispatch(t)}))},t}(),Gt=function(){function t(t,e){this.container=t,this.renderManager=e,this.scenes=new Map,this.sceneNamePendingToLoad=null}return t.prototype.addScene=function(t,e,n,o){var r=this;if(void 0===o&&(o=!1),this.scenes.has(e))throw new It(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var o=new t(r.container,e,r.container.getConstant(\"Game\"));return r.currentScene=o,o.dispatch(i.Init,n),o})),!o&&this.openingSceneName||(this.openingSceneName=e)},t.prototype.loadScene=function(t){if(!1===this.scenes.has(t))throw new It(\"Scene with name \".concat(t,\" does not exists\"));this.sceneNamePendingToLoad=t},t.prototype.getLoadedScene=function(){return this.currentScene},t.prototype.loadOpeningScene=function(){if(null===this.openingSceneName)throw new It(\"There is no opening scene\");this.scenes.get(this.openingSceneName)()},t.prototype.pendingSceneToload=function(){return null!==this.sceneNamePendingToLoad},t.prototype.loadPendingScene=function(){this.sceneNamePendingToLoad&&(this.scenes.get(this.sceneNamePendingToLoad)(),this.sceneNamePendingToLoad=null)},t.prototype.unloadCurrentScene=function(){this.currentScene&&(this.currentScene.dispatch(i.Destroy),this.currentScene=void 0)},t}(),Wt=[60,120,180,240],Ht=function(){function t(t){if(this.minGameDeltatime=0,this.minPhysicsDeltaTime=0,this.gameFramerate=60,this.physicsFramerate=180,this.timeScale=1,this.browserDeltaTime=0,this.unscaledDeltaTime=0,this.unscaledPhysicsDeltaTime=0,this.maxDeltaTime=1/30,this.thenForGame=0,this.thenForPhysics=0,this.thenForBrowser=0,!Wt.includes(t))throw new It(\"Invalid Physics frame rate. Allowed: [\".concat(Wt.join(\", \"),\"]\"));this.physicsFramerate=t,this.minGameDeltatime=parseFloat((1/this.gameFramerate).toFixed(6)),this.minPhysicsDeltaTime=parseFloat((1/this.physicsFramerate).toFixed(6))}return Object.defineProperty(t.prototype,\"deltaTime\",{get:function(){return this.unscaledDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"physicsDeltaTime\",{get:function(){return this.unscaledPhysicsDeltaTime*this.timeScale},enumerable:!1,configurable:!0}),t.prototype.updateForGame=function(t){this.unscaledDeltaTime=Math.min(Math.max(this.minGameDeltatime,t-this.thenForGame),this.maxDeltaTime),this.thenForGame=t},t.prototype.updateForBrowser=function(t){this.browserDeltaTime=Math.min(Math.max(0,t-this.thenForBrowser),this.maxDeltaTime),this.thenForBrowser=t},t.prototype.updateForPhysics=function(t){this.unscaledPhysicsDeltaTime=Math.min(Math.max(0,t-this.thenForPhysics),this.maxDeltaTime),this.thenForPhysics=t},t}(),zt=function(t,e){if(t.addConstant(\"GameConfig\",e),t.add(\"TimeManager\",(function(){return new Ht(e.physicsFramerate)})),t.add(\"GameObjectManager\",(function(){return new kt(t)})),t.add(\"PhysicsManager\",(function(){return function(t){var e=void 0===t?{}:t,i=e.collisionArea,n=e.collisionMatrix,o=e.collisionMethod,r=e.collisionBroadPhaseMethod,s=new ft,a=o===ct.AABB?new lt(new pt,new dt,s):new ut(s,new vt),h=new ht(a,r,i,n),c=new nt,l=new _t(h),u=new bt;return new xt(h,c,l,u)}(e.collisions)})),e.headless)t.add(\"IterationManager\",(function(){return new Vt(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"))}));else{t.add(\"DomManager\",(function(){return new Lt(e.containerNode,e.gameWidth,e.gameHeight)}));var i=t.getSingleton(\"DomManager\").canvas;t.add(\"RenderManager\",(function(){return function(t){var e=new j(t),i=e.gl,n=e.contextVersion,o=new A(i,n,new R(i,new S(i))),r=new $(new Q(i)),s=new J(i,o,r,new Map([[a.Sprite,new W(i,o,r)],[a.Text,new X(i,o,r,new P)],[a.Tilemap,new q(i,o,r)],[a.Geometric,new V(i,o)],[a.Mask,new G(i,o)],[a.Video,new K(i,o,r)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Tt(new Dt(t),new Et(t),new At,new Ft(t))}(i)})),t.add(\"AssetManager\",(function(){return new Ut(t.getSingleton(\"RenderManager\"))})),t.add(\"IterationManager\",(function(){return new h(t.getSingleton(\"TimeManager\"),t.getSingleton(\"PhysicsManager\"),t.getSingleton(\"RenderManager\"),t.getSingleton(\"InputManager\"),t.getSingleton(\"GameObjectManager\"),t.getSingleton(\"SceneManager\"),e.canvasColor)}))}t.add(\"SceneManager\",(function(){return new Gt(t,e.headless?void 0:t.getSingleton(\"RenderManager\"))}))},Nt=function(){function t(){this.instances=new Map,this.constructors=new Map,this.constants=new Map}return t.prototype.add=function(t,e){if(this.constructors.has(t))throw new It(\"There is already an object constructor with the name \".concat(t));this.constructors.set(t,e)},t.prototype.getSingleton=function(t){if(!1===this.constructors.has(t))throw new It(\"Invalid object constructor name: \".concat(t));return!1===this.instances.has(t)&&this.instances.set(t,this.constructors.get(t)()),this.instances.get(t)},t.prototype.getTranscient=function(t){if(!1===this.constructors.has(t))throw new It(\"Invalid object constructor name: \".concat(t));return this.constructors.get(t)()},t.prototype.addConstant=function(t,e){if(this.constants.has(t))throw new It(\"There is already a constant value with the name \".concat(t));this.constants.set(t,e)},t.prototype.getConstant=function(t){if(!1===this.constants.has(t))throw new It(\"Invalid constant name: \".concat(t));return this.constants.get(t)},t}(),Yt=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,i){return t.set(e.x+i.x,e.y+i.y),t},t.subtract=function(t,e,i){return t.set(e.x-i.x,e.y-i.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,i){return t.set(e.x*i,e.y*i),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}(),Xt=function(){function t(t,e,i,n){this._position=new Yt,this._center=new Yt,this._width=0,this._height=0,this.set(t,e,i,n)}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e,i,n){this._position.set(t,e),this._width=i,this._height=n},t.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},t.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},t.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},t.prototype.contains=function(e){return e instanceof t?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof Yt&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},t}(),qt=function(t,e,i){return t>=e&&t<=i},Kt=function(){function t(t,e){void 0===t&&(t=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new Yt,t?this.radians=t:e&&(this.degrees=e)}return Object.defineProperty(t.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),t.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))},t}(),Qt={containerNode:void 0,gameWidth:320,gameHeight:180,debugEnabled:!1,canvasColor:\"#000000\",physicsFramerate:180,headless:!1,spriteDefaultScale:new Yt(1,1),collisions:{collisionMethod:ct.SAT,collisionBroadPhaseMethod:it.SpartialGrid}},$t=function(){function t(t){this._config=n(n({},Qt),t),this._config.collisions=n(n({},Qt.collisions),t.collisions),this.container=new Nt,this.container.addConstant(\"Game\",this),this.setupManagers()}return t.prototype.setupManagers=function(){zt(this.container,this._config),this.sceneManager=this.container.getSingleton(\"SceneManager\"),this.iterationManager=this.container.getSingleton(\"IterationManager\")},Object.defineProperty(t.prototype,\"config\",{get:function(){return this._config},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"running\",{get:function(){return this.iterationManager.running},enumerable:!1,configurable:!0}),t.prototype.addScene=function(t,e,i,n){this.sceneManager.addScene(t,e,\"object\"==typeof i?i:void 0,\"boolean\"==typeof i?i:null!=n&&n)},t.prototype.run=function(){this.iterationManager.start()},t.prototype.stop=function(){this.iterationManager.stop()},t.prototype.pause=function(){this.iterationManager.pause()},t.prototype.resume=function(){this.iterationManager.resume()},t}(),Jt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.parentScale=!0,e.parentRotation=!0,e._position=new Yt,e._scale=new Yt(1,1),e._rotation=new Kt,e._innerPosition=new Yt,e._parent=null,e.cache=new Yt,e.lastParentRadians=0,e.lastPosition=new Yt,e.scaledInnerPosition=new Yt,e}return e(i,t),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"scale\",{get:function(){return this._scale},set:function(t){this._scale.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rotation\",{get:function(){return this._rotation},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._rotation.direction},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"innerPosition\",{get:function(){return this._innerPosition},set:function(t){this._innerPosition.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,null!==this._parent&&Yt.subtract(this._innerPosition,this._position,this._parent.position)},enumerable:!1,configurable:!0}),i.prototype.update=function(){null!==this._parent&&this.setPositionFromParent(),this.lastPosition.copy(this._position)},i.prototype.setPositionFromParent=function(){this._innerPosition.magnitude>0?(0!==this._parent.rotation.radians&&this.lastParentRadians!==this._parent.rotation.radians&&(this.translateInnerPosition(),this.lastParentRadians=this._parent.rotation.radians),this.parentScale?(this.updateScaledInnerPosition(),Yt.add(this._position,this._parent.position,this.scaledInnerPosition)):Yt.add(this._position,this._parent.position,this._innerPosition)):this._position.copy(this._parent.position),this._rotation.radians=this.parentRotation?this._parent.rotation.radians+this._rotation.radians:this._rotation.radians,this.parentScale&&this._scale.copy(this.parent._scale)},i.prototype.translateInnerPosition=function(){var t=Math.atan2(this._innerPosition.y,this._innerPosition.x)+(this._parent.rotation.radians-this.lastParentRadians);this.cache.set(Math.cos(t),Math.sin(t)),Yt.scale(this._innerPosition,this.cache,this._innerPosition.magnitude)},i.prototype.updateScaledInnerPosition=function(){this.scaledInnerPosition.set(this._innerPosition.x*this._parent.scale.x,this._innerPosition.y*this._parent.scale.y)},i}(f),Zt=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderer=null,e.colliders=[],e.physics=!0,e.activateColliders=!1,e}return e(i,t),i.prototype.update=function(){this.activateColliders&&(this.colliders.forEach((function(t){return t.active=!0})),this.activateColliders=!1),this.updateRealSize(),this.updatePosition(),this.updateColliders()},i.prototype.collidesWithLayer=function(t){return null!==this.getCollisionWithLayer(t)},i.prototype.getCollisionWithLayer=function(t){for(var e=0,i=this.colliders;e<i.length;e++)for(var n=i[e],o=0,r=this.physicsManager.getCollisionsForCollider(n);o<r.length;o++){var s=r[o];if(s.remoteCollider.layer===t)return this.createCollisionData(s)}return null},i.prototype.getCollisionsWithLayer=function(t){for(var e=[],i=0,n=this.colliders;i<n.length;i++)for(var o=n[i],r=0,s=this.physicsManager.getCollisionsForCollider(o);r<s.length;r++){var a=s[r];a.remoteCollider.layer===t&&e.push(this.createCollisionData(a))}return e},i.prototype.createCollisionData=function(t){return{gameObject:this.gameObjectManager.findGameObjectById(Number(t.remoteCollider.group)),collider:t.remoteCollider,resolution:t.resolution,getGameObject:function(){return this.gameObject},localCollider:t.localCollider}},i.prototype.onActiveChange=function(){var t=this;this.renderer&&(this.renderer.active=this.active),this.active?this.activateColliders=!0:this.colliders.forEach((function(e){return e.active=t.active}))},i.prototype.onDestroy=function(){var t=this;this.colliders.forEach((function(e){return t.physicsManager.removeCollider(e)}))},i}(p),te=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e}return e(i,t),Object.defineProperty(i.prototype,\"velocity\",{get:function(){return this.rigidBody.velocity},set:function(t){this.rigidBody.velocity.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"gravity\",{get:function(){return this.rigidBody.gravity},set:function(t){this.rigidBody.gravity=Math.abs(t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"rigidBodyType\",{get:function(){return this.rigidBody.type},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i=t.rigidBodyType,n=t.gravity;if(0===this.getColliderIds().length)throw new It(\"RigidBody needs at least one Collider with physics\");this.rigidBody=this.physicsManager.addRigidBody({type:i,colliderIds:this.getColliderIds(),gravity:null!==(e=Math.abs(n))&&void 0!==e?e:0,velocity:new Yt,position:new Yt})},i.prototype.update=function(){if(0===this.getColliderIds().length)throw new It(\"RigidBody needs at least one Collider with physics\");this.rigidBody.colliderIds=this.getColliderIds(),this.rigidBody.position=this.gameObject.transform.parent?this.gameObject.transform.innerPosition:this.gameObject.transform.position},i.prototype.getColliderIds=function(){return this.gameObject.getComponents().filter((function(t){return t instanceof Zt&&t.physics})).reduce((function(t,e){return o(o([],t,!0),e.colliders.map((function(t){return t.id})),!0)}),[])},i.prototype.onActiveChange=function(){this.rigidBody.active=this.active},i.prototype.onDestroy=function(){this.physicsManager.removeRigidBody(this.rigidBody)},i}(u),ee=\"Default\",ie=function(t){function n(e,i,n,o){void 0===n&&(n=\"\"),void 0===o&&(o=null);var r=t.call(this,e)||this;return r.layer=\"Default\",r.ui=!1,r.keep=!1,r._parent=null,r._active=!0,r.components=[],r.activeComponentsCache=[],r.activeChildrenCache=[],r.id=i,r.name=n,r.addComponent(Jt),r.parent=o,r}return e(n,t),Object.defineProperty(n.prototype,\"active\",{get:function(){return this._active},set:function(t){this._active!==t&&(this._active=t,this.updateComponentsActiveStatus(),this.updateChildrenActiveStatus(),this.onActiveChange())},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"parent\",{get:function(){return this._parent},set:function(t){this._parent=t,this.transform.parent=null!==t?t.transform:null},enumerable:!1,configurable:!0}),n.prototype.updateComponentsActiveStatus=function(){var t=this;!1===this.active&&(this.activeComponentsCache=this.components.filter((function(t){return t.active}))),this.activeComponentsCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeComponentsCache=[])},n.prototype.updateChildrenActiveStatus=function(){var t=this;!1===this.active&&(this.activeChildrenCache=this.getChildren().filter((function(t){return t.active}))),this.activeChildrenCache.forEach((function(e){return e.active=t.active})),!0===this.active&&(this.activeChildrenCache=[])},Object.defineProperty(n.prototype,\"transform\",{get:function(){return this.getComponent(Jt)},enumerable:!1,configurable:!0}),Object.defineProperty(n.prototype,\"rigidBody\",{get:function(){return this.getComponent(te)},enumerable:!1,configurable:!0}),n.prototype.onActiveChange=function(){},n.prototype.getCurrentScene=function(){return this.sceneManager.getLoadedScene()},n.prototype.addComponent=function(t,e,n){var o=\"string\"==typeof e?void 0:e,r=\"string\"==typeof e?e:n,s=new t(this.container,this,r);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,o),s},n.prototype.checkMultipleComponent=function(t,e){if(!1===t.allowMultiple&&this.hasComponent(e))throw new It(\"GameObject only allows one component of type \".concat(e.name))},n.prototype.getComponents=function(t){return t?this.components.filter((function(e){return e instanceof t})):this.components},n.prototype.getComponent=function(t){return\"string\"==typeof t?this.components.find((function(e){return e.name===t})):this.components.find((function(e){return e instanceof t}))},n.prototype.hasComponent=function(t){return\"string\"==typeof t?this.components.some((function(e){return e.name===t})):this.components.some((function(e){return e instanceof t}))},n.prototype.removeComponent=function(t){var e=this.components.indexOf(t);-1!==e&&this.components.splice(e,1)[0].dispatch(i.Destroy)},n.prototype.addChild=function(t,e,i){var n=this.gameObjectManager.addGameObject(t,e,this,i);return n.transform.innerPosition.set(0,0),n.transform.position.copy(this.transform.position),n},n.prototype.getChildren=function(){return this.gameObjectManager.findGameObjectsByParent(this)},n.prototype.getChild=function(t){return this.gameObjectManager.findGameObjectByParent(this,t)},n.prototype.destroyChildren=function(){var t=this;this.gameObjectManager.findGameObjectsByParent(this).forEach((function(e){return t.gameObjectManager.destroyGameObject(e)}))},n.prototype._destroy=function(){var t=this;this.destroyComponents(),Object.keys(this).forEach((function(e){return delete t[e]}))},n.prototype.destroyComponents=function(){for(var t=0;t<this.components.length;t++)this.components[t].dispatch(i.Destroy),delete this.components[t];this.components=[]},n.prototype._stopGame=function(){},n}(c),ne=[\"Default\"],oe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.viewportRect=new Xt(0,0,0,0),e.worldSpaceRect=new Xt(0,0,0,0),e.depth=0,e.layers=ne,e._zoom=1,e}return e(i,t),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this._zoom},set:function(t){if(this.zoom<=0)throw new It(\"zoom must be greather than 0\");this._zoom=t},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.layers.push(t)},i.prototype.init=function(){this.canvas=this.domManager.canvas,this.cameraData={position:new Yt,layers:[],depth:1}},i.prototype.update=function(){this.updateViewportRect(),this.updateWorldSpaceRect(),this.updateCameraData()},i.prototype.updateViewportRect=function(){this.viewportRect.x=-this.canvas.width/2,this.viewportRect.y=-this.canvas.height/2,this.viewportRect.width=this.canvas.width,this.viewportRect.height=this.canvas.height},i.prototype.updateWorldSpaceRect=function(){this.worldSpaceRect.x=(this.gameObject.transform.position.x-this.viewportRect.width/2)/this._zoom,this.worldSpaceRect.y=(this.gameObject.transform.position.y-this.viewportRect.height/2)/this._zoom,this.worldSpaceRect.width=this.viewportRect.width/this._zoom,this.worldSpaceRect.height=this.viewportRect.height/this._zoom},i.prototype.updateCameraData=function(){this.cameraData.position.copy(this.gameObject.transform.position),this.cameraData.depth=this.depth,this.cameraData.layers=this.layers,this.cameraData.zoom=this._zoom,this.renderManager.addCameraData(this.cameraData)},i}(m),re=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(){this.transform.position.set(0,0),this.camera=this.addComponent(oe)},Object.defineProperty(i.prototype,\"layers\",{get:function(){return this.camera.layers},set:function(t){this.camera.layers=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"depth\",{get:function(){return this.camera.depth},set:function(t){this.camera.depth=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"zoom\",{get:function(){return this.camera.zoom},set:function(t){this.camera.zoom=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"worldSpaceRect\",{get:function(){return this.camera.worldSpaceRect},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"viewportRect\",{get:function(){return this.camera.viewportRect},enumerable:!1,configurable:!0}),i.prototype.addLayer=function(t){this.camera.layers.push(t)},i}(ie),se=function(t){function i(e,i,n){var o=t.call(this,e)||this;return o.name=i,o.game=n,o.game.config.headless||o.addGameObject(re),o}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(re)},enumerable:!1,configurable:!0}),i.prototype._destroy=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!1),Object.keys(this).forEach((function(e){return delete t[e]}))},i.prototype._stopGame=function(){var t=this;this.gameObjectManager.destroyAllGameObjects(!0),Object.keys(this).forEach((function(e){return delete t[e]}))},i}(c),ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Yt,e.scaledPosition=new Yt,e.finalRotation=0,e.innerPosition=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r,s;if(this.gameConfig.collisions.collisionMethod!==ct.SAT)throw new It(\"Polygon Colliders need SAT collision method.\");if(t.vertexModel.length<3)throw new It(\"Polygon Collider needs at least 3 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(o=t.physics)&&void 0!==o?o:this.physics,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Kt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Yt);this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new jt(this.scaledVertexModel),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(he,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Yt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Yt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.scaledPosition),this.colliders[0].rotation=this.finalRotation,this.colliders[0].shape.vertexModel=this.scaledVertexModel},i}(Zt),he=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Yt,shape:r.Polygon,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.rotation=this.collider.shape.rotation,this.renderData.vertexModel=this.collider.shape.vertexModel,this.renderManager.addRenderData(this.renderData)},i}(y),ce=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realWidth=0,e.realHeight=0,e.realOffset=new Yt,e.realPosition=new Yt,e.realRotation=0,e.applyRotation=e.gameConfig.collisions.collisionMethod===ct.SAT,e.innerPosition=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r,s;this.width=t.width,this.height=t.height,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(o=t.debug)&&void 0!==o?o:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Kt,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Pt(this.realWidth,this.realHeight),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(he,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realWidth=this.width*Math.abs(this.gameObject.transform.scale.x),this.realHeight=this.height*Math.abs(this.gameObject.transform.scale.y),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.realRotation=this.applyRotation?this.gameObject.transform.rotation.radians+this.rotation.radians:0},i.prototype.updatePosition=function(){Yt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Yt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].rotation=this.realRotation,this.colliders[0].shape.updateSize(this.realWidth,this.realHeight)},i}(Zt),le=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.realRadius=0,e.realOffset=new Yt,e.realPosition=new Yt,e.innerPosition=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r;this.radius=t.radius,this.offsetX=null!==(e=t.offsetX)&&void 0!==e?e:this.offsetX,this.offsetY=null!==(i=t.offsetY)&&void 0!==i?i:this.offsetY,this.physics=null!==(n=t.physics)&&void 0!==n?n:this.physics,this.debug=(null!==(o=t.debug)&&void 0!==o?o:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(r=this.layer)&&void 0!==r?r:this.gameObject.layer,position:this.gameObject.transform.position.clone(),shape:new wt(this.radius),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()})),this.debug&&(this.renderer=this.gameObject.addComponent(ue,{collider:this.colliders[0]}))},i.prototype.updateRealSize=function(){this.realRadius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y)),this.realOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.realOffset.y=this.offsetY*this.gameObject.transform.scale.y},i.prototype.updatePosition=function(){Yt.add(this.realPosition,this.gameObject.transform.position,this.realOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Yt.subtract(this.innerPosition,this.realPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.realPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){var t;this.colliders[0].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[0].position.copy(this.realPosition),this.colliders[0].shape.radius=this.realRadius},i}(Zt),ue=function(t){function i(){return null!==t&&t.apply(this,arguments)||this}return e(i,t),i.prototype.init=function(t){var e=t.collider;this.renderData={type:a.Geometric,location:s.WorldSpace,layer:this.gameObject.layer,position:new Yt,shape:r.Circumference,color:\"#00FF00\"},this.collider=e},i.prototype.update=function(){this.renderData.layer=this.gameObject.layer,this.renderData.position.copy(this.collider.position),this.renderData.radius=this.collider.shape.radius,this.renderManager.addRenderData(this.renderData)},i}(y),pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.position=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i;this.tilemapRenderer=t.tilemapRenderer,this.layer=t.layer,this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.physics=!0,this.composite=null!==(i=t.composite)&&void 0!==i&&i,this.scaledTileWidth=this.tilemapRenderer.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tilemapRenderer.tileHeight*this.gameObject.transform.scale.y,this.scaledWidth=this.tilemapRenderer.width*this.scaledTileWidth,this.scaledHeight=this.tilemapRenderer.height*this.scaledTileHeight,this.position.set(this.gameObject.transform.position.x+(this.tilemapRenderer.orientation===M.Center?-this.scaledWidth/2:0),this.gameObject.transform.position.y+([M.Center,M.RightCenter].includes(this.tilemapRenderer.orientation)?this.scaledHeight/2:this.tilemapRenderer.orientation==M.RightUp?this.scaledHeight:0)),this.composite?this.useLineColliders():this.useBoxColliders(),this.debug&&(this.renderer=this.gameObject.addComponent(de,{colliders:this.colliders}))},i.prototype.useBoxColliders=function(){var t=this;this.tilemapRenderer.tiles.forEach((function(e,i){var n;t.needsCollider(e,i)&&t.colliders.push(t.physicsManager.addCollider({layer:null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,position:new Yt(t.position.x+(i%t.tilemapRenderer.width+.5)*t.scaledTileWidth,t.position.y-(Math.floor(i/t.tilemapRenderer.width)+.5)*t.scaledTileHeight),shape:new Pt(t.scaledTileWidth,t.scaledTileHeight),updateCollisions:!1,physics:t.physics,group:t.gameObject.id.toString()}))}))},i.prototype.needsCollider=function(t,e){var i=this;return 0!==t&&this.getNeighbors(e).some((function(t){return!t||!i.tilemapRenderer.tiles[t]||0===i.tilemapRenderer.tiles[t]}))},i.prototype.useLineColliders=function(){var t,e,i=this,n=[],o=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var r=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),o[s]||(o[s]=[]),o[s+1]||(o[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][r]=!0),i.hasTile(a[2])||(n[s+1][r]=!0),i.hasTile(a[1])||(o[s][r]=!0),i.hasTile(a[3])||(o[s][r+1]=!0)}}));for(var r=0;r<n.length;r++)if(n[r])for(var s=0;s<n[r].length;s++)!t||!e||r===e.y&&n[r][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[r][s]&&(t||(t=new Yt(s,r)),e=new Yt(s+1,r));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(r=0;r<o.length;r++)o[r]&&(!t||!e||s===e.x&&o[r][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),o[r][s]&&(t||(t=new Yt(s,r)),e=new Yt(s,r+1)));t&&e&&this.addLineCollider(t,e)},i.prototype.hasTile=function(t){return void 0!==t&&this.tilemapRenderer.tiles[t]&&this.tilemapRenderer.tiles[t]>0},i.prototype.addLineCollider=function(t,e){var i,n=this.physicsManager.addCollider({layer:null!==(i=this.layer)&&void 0!==i?i:this.gameObject.layer,position:this.position.clone(),shape:new Ct([new Yt(t.x*this.scaledTileWidth,t.y*-this.scaledTileHeight),new Yt(e.x*this.scaledTileWidth,e.y*-this.scaledTileHeight)]),updateCollisions:!1,physics:this.physics,group:this.gameObject.id.toString()});this.colliders.push(n)},i.prototype.getNeighbors=function(t){return[t-this.tilemapRenderer.width>=0?t-this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width>0?t-1:void 0,t+this.tilemapRenderer.width<=this.tilemapRenderer.width*this.tilemapRenderer.height?t+this.tilemapRenderer.width:void 0,t%this.tilemapRenderer.width<this.tilemapRenderer.width-1?t+1:void 0]},i.prototype.updateRealSize=function(){},i.prototype.updatePosition=function(){},i.prototype.updateColliders=function(){var t=this;this.colliders.forEach((function(e){var i;return e.layer=null!==(i=t.layer)&&void 0!==i?i:t.gameObject.layer}))},i}(Zt),de=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Yt,shape:r.Polygon,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position.copy(e.shape.position),t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),fe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.debug=!1,e.offsetX=0,e.offsetY=0,e.scaledVertexModel=[],e.scaledOffset=new Yt,e.scaledPosition=new Yt,e.finalRotation=0,e.innerPosition=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r,s;if(this.gameConfig.collisions.collisionMethod!==ct.SAT)throw new It(\"Edge Colliders need SAT collision method.\");if(t.vertexModel.length<2)throw new It(\"Edge Collider needs at least 2 vertices.\");this.debug=(null!==(e=t.debug)&&void 0!==e?e:this.debug)&&this.gameConfig.debugEnabled,this.vertexModel=t.vertexModel,this.offsetX=null!==(i=t.offsetX)&&void 0!==i?i:this.offsetX,this.offsetY=null!==(n=t.offsetY)&&void 0!==n?n:this.offsetY,this.physics=null!==(o=t.physics)&&void 0!==o?o:this.physics,this.rotation=null!==(r=t.rotation)&&void 0!==r?r:new Kt,this.layer=t.layer;for(var a=0;a<this.vertexModel.length;a++)this.scaledVertexModel.push(new Yt);for(a=0;a<this.scaledVertexModel.length-1;a++)this.colliders.push(this.physicsManager.addCollider({layer:null!==(s=this.layer)&&void 0!==s?s:this.gameObject.layer,position:this.gameObject.transform.position.clone(),rotation:this.rotation.radians,shape:new Ct([this.scaledVertexModel[a],this.scaledVertexModel[a+1]]),updateCollisions:!0,physics:this.physics,group:this.gameObject.id.toString()}));this.debug&&(this.renderer=this.gameObject.addComponent(ge,{colliders:this.colliders}))},i.prototype.updateRealSize=function(){var t=this;this.vertexModel.forEach((function(e,i){return t.scaledVertexModel[i].set(e.x*t.gameObject.transform.scale.x,e.y*t.gameObject.transform.scale.y)})),this.scaledOffset.x=this.offsetX*this.gameObject.transform.scale.x,this.scaledOffset.y=this.offsetY*this.gameObject.transform.scale.y,this.finalRotation=this.gameObject.transform.rotation.radians+this.rotation.radians},i.prototype.updatePosition=function(){Yt.add(this.scaledPosition,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translate()},i.prototype.translate=function(){Yt.subtract(this.innerPosition,this.scaledPosition,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.scaledPosition.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.updateColliders=function(){for(var t,e=0;e<this.scaledVertexModel.length-1;e++)this.colliders[e].layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.colliders[e].position.copy(this.scaledPosition),this.colliders[e].rotation=this.finalRotation,this.colliders[e].shape.vertexModel=[this.scaledVertexModel[e],this.scaledVertexModel[e+1]]},i}(Zt),ge=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.renderData=[],e.colliders=[],e}return e(i,t),i.prototype.init=function(t){var e=this,i=t.colliders;this.colliders=i,this.colliders.forEach((function(t,i){e.renderData[i]={type:a.Geometric,layer:e.gameObject.layer,location:s.WorldSpace,position:new Yt,shape:r.Line,color:\"#00FF00\"}}))},i.prototype.update=function(){var t=this;this.colliders.forEach((function(e,i){t.renderData[i].layer=t.gameObject.layer,t.renderData[i].position=e.position,t.renderData[i].rotation=e.rotation,t.renderData[i].vertexModel=e.shape.vertexModel,t.renderManager.addRenderData(t.renderData[i])}))},i}(y),me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteDefaultScale=e.gameConfig.spriteDefaultScale,e.renderData=[],e.innerPosition=new Yt,e.cachePosition=new Yt,e.cacheRenderPosition=new Yt,e.scaledOffset=new Yt,e.cacheScale=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r,s,a,h,c;void 0===t&&(t={}),this.sprite=t.sprite,this.offset=null!==(e=t.offset)&&void 0!==e?e:new Yt,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:new Kt,this.flipHorizontal=null!==(n=t.flipHorizontal)&&void 0!==n&&n,this.flipVertical=null!==(o=t.flipVertical)&&void 0!==o&&o,this.opacity=null!==(r=t.opacity)&&void 0!==r?r:1,this._tiled=null!==(s=t.tiled)&&void 0!==s?s:new Yt(1,1),this.maskColor=t.maskColor,this.maskColorMix=null!==(a=t.maskColorMix)&&void 0!==a?a:0,this.tintColor=t.tintColor,this.layer=t.layer,this.scale=null!==(c=null!==(h=t.scale)&&void 0!==h?h:this.spriteDefaultScale)&&void 0!==c?c:new Yt(1,1),this.width=t.width,this.height=t.height},Object.defineProperty(i.prototype,\"tiled\",{get:function(){return this._tiled},set:function(t){if(t.x%1!=0||t.y%1!=0)throw new It(\"SpriteRenderer.tiled: Vector2 components must be integers\");this._tiled.set(t.x,t.y)},enumerable:!1,configurable:!0}),i.prototype.update=function(){var t;if(this.sprite&&!0===this.sprite.loaded){this.scale=null!==(t=this.scale)&&void 0!==t?t:this.spriteDefaultScale,this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var e=0,i=0;i<this._tiled.x;i++)for(var n=0;n<this._tiled.y;n++)this.updateRenderData(e,i,n),e++}},i.prototype.updateRenderDataArray=function(){if(this.renderData.length!==this._tiled.x*this._tiled.y){this.renderData=[];for(var t=0;t<this._tiled.x*this._tiled.y;t++)this.renderData[t]={type:a.Sprite,location:s.WorldSpace,layer:\"\",position:new Yt,image:this.sprite.image,width:0,height:0}}},i.prototype.updateRenderData=function(t,e,i){var n,o,r;this.renderData[t].location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData[t].layer=null!==(n=this.layer)&&void 0!==n?n:this.gameObject.layer,this.renderData[t].image=this.sprite.image,this.renderData[t].width=(null!==(o=this.width)&&void 0!==o?o:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(r=this.height)&&void 0!==r?r:this.sprite.height)*Math.abs(this.cacheScale.y),this.renderData[t].slice=this.sprite.slice,this.renderData[t].flipHorizontal=this.flipHorizontal!==this.cacheScale.x<0,this.renderData[t].flipVertical=this.flipVertical!==this.cacheScale.y<0,this.renderData[t].rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData[t].smooth=this.sprite.smooth,this.renderData[t].alpha=this.opacity,this.renderData[t].maskColor=this.maskColor,this.renderData[t].maskColorMix=this.maskColorMix,this.renderData[t].tintColor=this.tintColor,this.calculateRenderPosition(t,e,i),this.renderManager.addRenderData(this.renderData[t])},i.prototype.calculateRenderPosition=function(t,e,i){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Yt.add(this.cachePosition,this.gameObject.transform.position,this.scaledOffset),this.cacheRenderPosition.set(this.renderData[t].width/2*(this._tiled.x-1),this.renderData[t].height/2*(this._tiled.y-1)),Yt.subtract(this.cachePosition,this.cachePosition,this.cacheRenderPosition),this.cacheRenderPosition.set(e*this.renderData[t].width,i*this.renderData[t].height),Yt.add(this.renderData[t].position,this.cachePosition,this.cacheRenderPosition),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition(t)},i.prototype.translateRenderPosition=function(t){Yt.subtract(this.innerPosition,this.renderData[t].position,this.gameObject.transform.position);var e=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData[t].position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(e),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(e))},i}(y),ye=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.lastFrameText=\"\",e}return e(i,t),i.prototype.init=function(t){var e,i,n,o,r,s,a,h,c,l,u,p,d;if(this.text=null!==(e=t.text)&&void 0!==e?e:\"\",this.font=null!==(i=t.font)&&void 0!==i?i:\"Sans\",this.fontSize=null!==(n=t.fontSize)&&void 0!==n?n:12,this.width=null!==(o=t.width)&&void 0!==o?o:100,this.height=null!==(r=t.height)&&void 0!==r?r:100,this.offset=null!==(s=t.offset)&&void 0!==s?s:new Yt,this.color=null!==(a=t.color)&&void 0!==a?a:\"#000000\",this.charRanges=null!==(h=t.charRanges)&&void 0!==h?h:[32,126,161,255],this.lineSeparation=null!==(c=t.lineSeparation)&&void 0!==c?c:0,this.letterSpacing=null!==(l=t.letterSpacing)&&void 0!==l?l:0,this.smooth=null!==(u=t.smooth)&&void 0!==u&&u,this.rotation=null!==(p=t.rotation)&&void 0!==p?p:new Kt,this.opacity=null!==(d=t.opacity)&&void 0!==d?d:1,this.orientation=t.orientation,this.bitmapMargin=t.bitmapMargin,this.bitmapSpacing=t.bitmapSpacing,this.charRanges.length%2!=0)throw new It(\"TextRenderer.charRanges must be a 2 column matrix\");if(this.lineSeparation%2!=0)throw new It(\"TextRenderer.lineSeparation must be multiple of 2\")},i.prototype.start=function(){this.renderData={type:a.Text,location:s.WorldSpace,position:new Yt,layer:this.gameObject.layer,text:\"\",font:this.font,fontSize:this.fontSize,bitmap:{charRanges:this.charRanges,margin:this.bitmapMargin,spacing:this.bitmapSpacing},smooth:this.smooth}},i.prototype.update=function(){var t,e;this.text&&(this.renderData.layer=this.gameObject.layer,this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.text=this.text!==this.lastFrameText?this.crop():this.renderData.text,this.renderData.fontSize=this.fontSize,this.renderData.color=this.color,this.renderData.orientation=this.orientation,this.renderData.lineSeparation=this.lineSeparation,this.renderData.letterSpacing=this.letterSpacing,this.renderData.rotation=null!==(e=this.gameObject.transform.rotation.radians+(null===(t=this.rotation)||void 0===t?void 0:t.radians))&&void 0!==e?e:0,this.renderData.alpha=this.opacity,Yt.add(this.renderData.position,this.gameObject.transform.position,this.offset),this.renderManager.addRenderData(this.renderData),this.lastFrameText=this.text)},i.prototype.crop=function(){var t=this;if(this.fontSize>this.height)return\"\";for(var e=[],i=0,n=0,o=this.text.split(\"\\n\");n<o.length;n++)for(var r=o[n].split(\" \").reduce((function(e,i){var n=e[e.length-1]+(e[e.length-1].length>0?\" \":\"\")+i;return n.length*(t.fontSize+t.letterSpacing)>t.width?e.push(i):e[e.length-1]=n,e}),[\"\"]),s=0,a=r;s<a.length;s++){var h=a[s];if((i+=this.fontSize+this.lineSeparation)>this.height)return e.join(\"\\n\");e.push(h)}return e.join(\"\\n\")},i}(y),ve=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.offset=new Yt,e.rotation=new Kt,e.opacity=1,e.innerPosition=new Yt,e.scaledOffset=new Yt,e}return e(i,t),i.prototype.init=function(t){var e,i,n,o;this.width=t.width,this.height=t.height,this.color=t.color,this.offset=null!==(e=t.offset)&&void 0!==e?e:this.offset,this.rotation=null!==(i=t.rotation)&&void 0!==i?i:this.rotation,this.opacity=null!==(n=t.opacity)&&void 0!==n?n:this.opacity,this.layer=t.layer,this.renderData={type:a.Mask,layer:null!==(o=this.layer)&&void 0!==o?o:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Yt,width:0,height:0,color:\"\"}},i.prototype.update=function(){var t;this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.color=this.color,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData)},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Yt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Yt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i}(y),xe=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],be=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.innerPosition=new Yt,e.scaledOffset=new Yt,e._playing=!1,e._paused=!1,e.videoEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e.video.removeEventListener(\"ended\",e.videoEventHandler))},e.userInputEventHandler=function(){xe.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.video&&e._playing&&e.video.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this.video&&(this.video.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this.video&&(this.video.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e,i,n,o,r,h,c,l,u,p;this.video=t.video,this.width=null!==(e=t.width)&&void 0!==e?e:this.video.videoWidth,this.height=null!==(i=t.height)&&void 0!==i?i:this.video.videoHeight,this.offset=null!==(n=t.offset)&&void 0!==n?n:new Yt,this.rotation=null!==(o=t.rotation)&&void 0!==o?o:new Kt,this.flipHorizontal=null!==(r=t.flipHorizontal)&&void 0!==r&&r,this.flipVertical=null!==(h=t.flipVertical)&&void 0!==h&&h,this.opacity=null!==(c=t.opacity)&&void 0!==c?c:1,this.maskColor=t.maskColor,this.maskColorMix=null!==(l=t.maskColorMix)&&void 0!==l?l:0,this.tintColor=t.tintColor,this.layer=t.layer,this.slice=t.slice,this._volume=null!==(u=t.volume)&&void 0!==u?u:1,this._loop=null!==(p=t.loop)&&void 0!==p&&p,this.renderData={type:a.Video,location:s.WorldSpace,layer:\"\",position:new Yt,video:this.video,width:this.width,height:this.height}},i.prototype.play=function(){var t=this;if((this.video||!this.video.duration)&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this.video.play();this.video.loop=this._loop,this.video.volume=this._volume,this.video.addEventListener(\"ended\",this.videoEventHandler),this._playing=!0;var e=this.video.play();void 0!==e&&e.catch((function(){xe.forEach((function(e){return window.addEventListener(e,t.userInputEventHandler)}))}))}},i.prototype.stop=function(){this._playing&&(this.video.pause(),this.video.currentTime=0,this.video.removeEventListener(\"ended\",this.videoEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this.video.pause(),this._paused=!0)},i.prototype.update=function(){var t;this.video&&this.video.duration&&(this.renderData.location=this.gameObject.ui?s.ViewPort:s.WorldSpace,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.video=this.video,this.renderData.width=this.width*Math.abs(this.gameObject.transform.scale.x),this.renderData.height=this.height*Math.abs(this.gameObject.transform.scale.y),this.renderData.slice=this.slice,this.renderData.flipHorizontal=this.flipHorizontal!==this.gameObject.transform.scale.x<0,this.renderData.flipVertical=this.flipVertical!==this.gameObject.transform.scale.y<0,this.renderData.rotation=this.gameObject.transform.rotation.radians+this.rotation.radians,this.renderData.alpha=this.opacity,this.renderData.maskColor=this.maskColor,this.renderData.maskColorMix=this.maskColorMix,this.renderData.tintColor=this.tintColor,this.calculateRenderPosition(),this.renderManager.addRenderData(this.renderData))},i.prototype.calculateRenderPosition=function(){this.scaledOffset.set(this.offset.x*this.gameObject.transform.scale.x,this.offset.y*this.gameObject.transform.scale.y),Yt.add(this.renderData.position,this.gameObject.transform.position,this.scaledOffset),0!==this.gameObject.transform.rotation.radians&&this.translateRenderPosition()},i.prototype.translateRenderPosition=function(){Yt.subtract(this.innerPosition,this.renderData.position,this.gameObject.transform.position);var t=Math.atan2(this.innerPosition.y,this.innerPosition.x)+this.gameObject.transform.rotation.radians;this.renderData.position.set(this.gameObject.transform.position.x+this.innerPosition.magnitude*Math.cos(t),this.gameObject.transform.position.y+this.innerPosition.magnitude*Math.sin(t))},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop()},i}(y),Me=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteDefaultScale=e.gameConfig.spriteDefaultScale,e.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,o=t.tileset,r=t.tileWidth,h=t.tileHeight,c=t.width,l=t.layer,u=t.orientation,p=t.opacity,d=t.tintColor,f=t.smooth;n.split(\"\\n\").forEach((function(t){t.split(\",\").forEach((function(t){return t.trim().length>0?i.tiles.push(Number(t)):null}))})),this.tileset=o,this.width=c,this.tileWidth=null!=r?r:this.tileset.tileWidth*this.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.spriteDefaultScale.y,this.layer=l,this.height=Math.ceil(this.tiles.length/this.width),this.orientation=null!=u?u:M.Center,this.opacity=p,this.tintColor=d,this.renderData={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Yt,tileset:this.tileset,tilemap:{width:this.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:this.tiles,orientation:this.orientation,smooth:f},this.updateRenderData()},i.prototype.update=function(){this.updateRenderData(),this.renderManager.addRenderData(this.renderData)},i.prototype.updateRenderData=function(){var t;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.width*this.scaledTileWidth,this.realHeight=this.height*this.scaledTileHeight,this.renderData.layer=null!==(t=this.layer)&&void 0!==t?t:this.gameObject.layer,this.renderData.position.copy(this.gameObject.transform.position),this.renderData.tintColor=this.tintColor,this.renderData.alpha=this.opacity,this.renderData.tilemap.tileWidth=this.scaledTileWidth,this.renderData.tilemap.tileHeight=this.scaledTileHeight},i}(y),_e=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteDefaultScale=e.gameConfig.spriteDefaultScale,e.tiles=[],e.tilesetTileIds=[],e.chunks=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e.renderData=[],e}return e(i,t),i.prototype.init=function(t){var e=t.tiledData,i=t.tilemapLayer,n=t.tileset,o=t.tileWidth,r=t.tileHeight,s=t.layer,a=t.orientation,h=t.smooth;if(this.tiledData=e,this.tileset=n,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.spriteDefaultScale.x,this.tileHeight=null!=r?r:this.tileset.tileHeight*this.spriteDefaultScale.y,this.layer=s,this.smooth=null!=h&&h,this.orientation=null!=a?a:M.Center,this.tiledLayer=this.tiledData.layers.find((function(t){return t.name===i})),!this.tiledLayer)throw new It(\"Invalid tilemap layer\");this.width=this.tiledLayer.width,this.height=this.tiledLayer.height,this.processTilemap()},i.prototype.update=function(){var t=this;this.updateRenderData(),this.renderData.forEach((function(e){return t.renderManager.addRenderData(e)}))},i.prototype.processTilemap=function(){var t=this;!0===this.tiledLayer.visible&&(this.opacity=this.tiledLayer.opacity,this.tintColor=this.tiledLayer.tintcolor,this.tiledData.infinite?this.tiledLayer.chunks.sort((function(t,e){return t.x-e.x})).sort((function(t,e){return t.y-e.y})).forEach((function(e){return t.processChunk(e)})):this.processChunk(this.tiledLayer)),this.updateRenderData(),this.tilesetTileIds=[]},i.prototype.processChunk=function(t){var e,i=this,n={type:a.Tilemap,layer:null!==(e=this.layer)&&void 0!==e?e:this.gameObject.layer,location:this.gameObject.ui?s.ViewPort:s.WorldSpace,position:new Yt,tileset:this.tileset,tilemap:{width:t.width,tileWidth:this.tileWidth,tileHeight:this.tileHeight},tiles:t.data.map((function(t){return i.getTilesetTileId(t)})),orientation:M.RightDown,smooth:this.smooth};t.type&&\"tilelayer\"===t.type?this.tiles=n.tiles:n.tiles.forEach((function(e,n){i.tiles[i.tiledLayer.width*(t.y+Math.floor(n/t.width))+t.x+n%t.width]=e})),this.renderData.push(n),this.chunks.push(t)},i.prototype.getTilesetTileId=function(t){return this.tilesetTileIds[t]||(this.tilesetTileIds[t]=this.tiledData.tilesets.reduce((function(e,i){return t>=i.firstgid?t-i.firstgid+1:e}),0)),this.tilesetTileIds[t]},i.prototype.updateRenderData=function(){var t=this;this.scaledTileWidth=this.tileWidth*this.gameObject.transform.scale.x,this.scaledTileHeight=this.tileHeight*this.gameObject.transform.scale.y,this.realWidth=this.tiledLayer.width*this.scaledTileWidth,this.realHeight=this.tiledLayer.height*this.scaledTileHeight,this.renderData.forEach((function(e,i){var n;e.layer=null!==(n=t.layer)&&void 0!==n?n:t.gameObject.layer,e.position.set(t.gameObject.transform.position.x+(t.orientation===M.Center?-t.realWidth/2:0)+t.chunks[i].x*t.scaledTileWidth,t.gameObject.transform.position.y+([M.Center,M.RightCenter].includes(t.orientation)?t.realHeight/2:t.orientation==M.RightUp?t.realHeight:0)-t.chunks[i].y*t.scaledTileHeight),e.tilemap.tileWidth=t.scaledTileWidth,e.tilemap.tileHeight=t.scaledTileHeight,e.tintColor=t.tintColor,e.alpha=t.opacity}))},i}(y),we=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.spriteRenderer=null,e.animations=new Map,e.currentAnimation=null,e.paused=!1,e}return e(i,t),i.prototype.init=function(t){var e=t.spriteRenderer;this.spriteRenderer=e},i.prototype.update=function(){null===this.currentAnimation||this.paused||(this.currentAnimation.playFrame(this.timeManager.deltaTime),!0===this.currentAnimation.restarted&&!1===this.currentAnimation.loop?this.currentAnimation=null:this.spriteRenderer.sprite=this.currentAnimation.sprite)},i.prototype.addAnimation=function(t,e,i){return void 0===e&&(e=\"default\"),t.framerate=null!=i?i:t.framerate,this.animations.set(e,new Ce(t)),this},i.prototype.playAnimation=function(t){if(void 0===t&&(t=\"default\"),!1!==this.active){if(!1===this.animations.has(t))throw new It(\"Animation with name \".concat(t,\" does not exist.\"));this.stopAnimation(),this.currentAnimation=this.animations.get(t)}},i.prototype.pause=function(){this.paused=!0},i.prototype.resume=function(){this.paused=!1},i.prototype.stopAnimation=function(){null!==this.currentAnimation&&(this.currentAnimation.reset(),this.currentAnimation=null)},i.prototype.isPlayingAnimation=function(t){return void 0===t&&(t=\"default\"),null!==this.currentAnimation&&this.animations.get(t)&&this.animations.get(t)===this.currentAnimation},i.prototype.isPaused=function(){return this.paused},i}(u),Ce=function(){function t(t){this._sprite=null,this._restarted=!1,this.currentFrame=0,this.frameTime=0,this._animation=t}return Object.defineProperty(t.prototype,\"sprite\",{get:function(){return this._sprite},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"restarted\",{get:function(){return this._restarted},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loop\",{get:function(){return this._animation.loop},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"animation\",{get:function(){return this._animation},enumerable:!1,configurable:!0}),t.prototype.reset=function(){this.currentFrame=0,this.frameTime=0,this._restarted=!0},t.prototype.playFrame=function(t){this._restarted=!1,this.frameTime>=1/this._animation.framerate&&(this.frameTime=0,this.currentFrame=this.currentFrame+1===this._animation.sprites.length?0:this.currentFrame+1,this._restarted=0===this.currentFrame),this._sprite=this._animation.sprites[this.currentFrame],this.frameTime+=t},t}(),je=[\"click\",\"contextmenu\",\"auxclick\",\"dblclick\",\"mousedown\",\"mouseup\",\"pointerup\",\"touchend\",\"keydown\",\"keyup\"],Pe=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.tracks=[],e.audioSourceCache=new Map,e._playing=!1,e._paused=!1,e.audioEventHandler=function(t){\"ended\"===t.type&&(e._playing=!1,e._audioSource.removeEventListener(\"ended\",e.audioEventHandler))},e.userInputEventHandler=function(){je.forEach((function(t){window.removeEventListener(t,e.userInputEventHandler)})),e.audioContext.resume(),e._audioSource&&e._playing&&e._audioSource.play()},e}return e(i,t),Object.defineProperty(i.prototype,\"audioSource\",{get:function(){return this._audioSource},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"volume\",{get:function(){return this._volume},set:function(t){this._volume=t,this._audioSource&&(this._audioSource.volume=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"loop\",{get:function(){return this._loop},set:function(t){this._loop=t,this._audioSource&&(this._audioSource.loop=t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"playing\",{get:function(){return this._playing},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"paused\",{get:function(){return this._paused},enumerable:!1,configurable:!0}),i.prototype.init=function(t){var e=this,i=void 0===t?{}:t,n=i.loop,o=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&je.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=o?o:1,this._loop=null!=n&&n},i.prototype.playClip=function(t,e){t.currentTime>0&&(t.currentTime=0),t.volume=null!=e?e:this._volume,t.play()},i.prototype.addAudioSource=function(t,e){void 0===e&&(e=\"default\");var i=t.cloneNode();this.audioSourceCache.set(e,i);var n=this.audioContext.createMediaElementSource(i);n.connect(this.audioContext.destination),this.tracks.push(n)},i.prototype.loadAudioSource=function(t,e,i){this.stop(),this._audioSource=this.audioSourceCache.get(t),this._loop=null!=e?e:this._loop,this._volume=null!=i?i:this._volume},i.prototype.play=function(){if(this._audioSource&&(!this._playing||!1!==this._paused)){if(this._paused)return this._paused=!1,void this._audioSource.play();this._audioSource.volume=this._volume,this._audioSource.loop=this._loop,this._audioSource.addEventListener(\"ended\",this.audioEventHandler),this._playing=!0,\"running\"===this.audioContext.state&&this._audioSource.play()}},i.prototype.stop=function(){this._playing&&(this._audioSource.pause(),this._audioSource.currentTime=0,this._audioSource.removeEventListener(\"ended\",this.audioEventHandler),this._playing=!1,this._paused=!1)},i.prototype.pause=function(){this._playing&&!1===this._paused&&(this._audioSource.pause(),this._paused=!0)},i.prototype.onActiveChange=function(){!1===this.active&&this.stop()},i.prototype.onDestroy=function(){this.stop(),this.audioContext.close()},i}(u),Oe=function(){function t(t){var e,i=this;this._width=null,this._height=null,this._loaded=!1,this.image=t.image,this.smooth=null!==(e=t.smooth)&&void 0!==e&&e,this.slice=t.slice,this.slice&&(this._width=this.slice.width,this._height=this.slice.height);var n=function(){var t,e;i._width=null!==(t=i._width)&&void 0!==t?t:i.image.naturalWidth,i._height=null!==(e=i._height)&&void 0!==e?e:i.image.naturalHeight,i._loaded=!0};this.image.naturalWidth?n():this.image.addEventListener(\"load\",(function(){return n()}))}return Object.defineProperty(t.prototype,\"width\",{get:function(){return this._width},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"height\",{get:function(){return this._height},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"loaded\",{get:function(){return this._loaded},enumerable:!1,configurable:!0}),t}();!function(t){t[t.Rectangle=0]=\"Rectangle\",t[t.Circumference=1]=\"Circumference\"}(Bt||(Bt={}));var Re=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.allowMultiple=!1,e.width=100,e.height=100,e.radius=50,e.touchEnabled=!0,e.offset=new Yt,e.pressed=!1,e.mouse=e.inputManager.mouse,e.touch=e.inputManager.touch,e.position=new Yt,e.distance=new Yt,e.pressedLastFrame=!1,e.scaled={width:0,height:0,radius:0,offset:new Yt},e}return e(i,t),i.prototype.init=function(t){var e=t.type,i=t.height,n=t.radius,o=t.touchEnabled,r=t.width,s=t.offset;this.type=e,this.width=null!=r?r:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=o?o:this.touchEnabled,this.offset=null!=s?s:this.offset},i.prototype.update=function(){this.scale(),Yt.add(this.position,this.gameObject.transform.position,this.scaled.offset),this.pressedLastFrame=this.pressed,this.pressed=!1,this.mouse.leftButtonPressed&&(this.resolveMouseAndRectangle(),this.resolveMouseAndCircumference()),this.touchEnabled&&this.touch.touching&&(this.resolveTouchAndRectangle(),this.resolveTouchAndCircumference()),this.onClick&&!this.pressedLastFrame&&this.pressed&&this.onClick(),this.onPressed&&this.pressed&&this.onPressed()},i.prototype.scale=function(){this.scaled.width=this.width*this.gameObject.transform.scale.x,this.scaled.height=this.width*this.gameObject.transform.scale.y,this.scaled.offset.x=this.offset.x*this.gameObject.transform.scale.x,this.scaled.offset.y=this.offset.y*this.gameObject.transform.scale.y,this.scaled.radius=this.radius*Math.max(Math.abs(this.gameObject.transform.scale.x),Math.abs(this.gameObject.transform.scale.y))},i.prototype.resolveMouseAndRectangle=function(){this.type===Bt.Rectangle&&(this.pressed=qt(this.mouse.positionInViewport.x,this.position.x-this.scaled.width/2,this.position.x+this.scaled.width/2)&&qt(this.mouse.positionInViewport.y,this.position.y-this.scaled.height/2,this.position.y+this.scaled.height/2))},i.prototype.resolveMouseAndCircumference=function(){this.type===Bt.Circumference&&(Yt.subtract(this.distance,this.position,this.mouse.positionInViewport),this.pressed=this.distance.magnitude<=this.scaled.radius)},i.prototype.resolveTouchAndRectangle=function(){if(this.type===Bt.Rectangle)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,o=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-o.x&&this.position.x-this.scaled.width/2<=n.x+o.x&&this.position.y+this.scaled.height/2>=n.y-o.y&&this.position.y-this.scaled.height/2<=n.y+o.y}},i.prototype.resolveTouchAndCircumference=function(){if(this.type===Bt.Circumference)for(var t=0,e=this.touch.interactions;t<e.length;t++){var i=e[t],n=i.positionInViewport,o=i.radius;if(this.pressed)return;Yt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(o.x,o.y)}},i}(u),Ae=function(t){function i(){var e=null!==t&&t.apply(this,arguments)||this;return e.mousePressed=!1,e.position=new Yt,e}return e(i,t),i.prototype.start=function(){this.camera=this.getCurrentScene().gameCamera},i.prototype.update=function(){this.inputManager.mouse.leftButtonPressed&&!1===this.mousePressed&&(Yt.round(this.position,Yt.add(this.position,this.camera.transform.position,Yt.scale(this.position,this.inputManager.mouse.positionInViewport,1/this.camera.zoom))),console.log(\"Space position: {x: \".concat(this.position.x,\", y: \").concat(this.position.y,\"}\"))),this.mousePressed=this.inputManager.mouse.leftButtonPressed},i}(ie);export{we as Animator,Pe as AudioPlayer,le as BallCollider,ce as BoxCollider,Re as Button,Bt as ButtonType,oe as Camera,l as Component,fe as EdgeCollider,$t as Game,re as GameCamera,ie as GameObject,ee as LAYER_DEFAULT,ve as MaskRenderer,d as PhysicsComponent,ae as PolygonCollider,he as PolygonColliderRenderer,g as PreRenderComponent,te as RigidBody,yt as RigidBodyType,se as Scene,Ae as SpacePointer,Oe as Sprite,me as SpriteRenderer,I as TextOrientation,ye as TextRenderer,_e as TiledTilemapRenderer,pe as TilemapCollider,M as TilemapOrientation,Me as TilemapRenderer,Jt as Transform,be as VideoRenderer};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,e){void 0===t&&(t=0),void 0===e&&(e=0),this._x=t,this._y=e}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,e){this._x=t,this._y=e},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,e,n){return t.set(e.x+n.x,e.y+n.y),t},t.subtract=function(t,e,n){return t.set(e.x-n.x,e.y-n.y),t},t.unit=function(t,e){return 0===e.magnitude?t.set(0,0):t.set(e.x/e.magnitude,e.y/e.magnitude),t},t.normal=function(t,e){return t.set(-e.y,e.x),this.unit(t,t)},t.scale=function(t,e,n){return t.set(e.x*n,e.y*n),t},t.dot=function(t,e){return t.x*e.x+t.y*e.y},t.cross=function(t,e){return t.x*e.y-t.y*e.x},t.round=function(t,e){return t.set(Math.round(e.x),Math.round(e.y)),t},t}();!function(){function e(e,n,i,r){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(e,n,i,r)}Object.defineProperty(e.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),e.prototype.set=function(t,e,n,i){this._position.set(t,e),this._width=n,this._height=i},e.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},e.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},e.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},e.prototype.contains=function(n){return n instanceof e?n.x1<=this.x1&&n.x>=this.x&&n.y1<=this.y1&&n.y>=this.y:n instanceof t&&!(n.x<this.x||n.y<this.y||n.x>=this.x1||n.y>=this.y1)}}(),function(){function e(e,n){void 0===e&&(e=null),void 0===n&&(n=null),this._degrees=0,this._radians=0,this._direction=new t,e?this.radians=e:n&&(this.degrees=n)}Object.defineProperty(e.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),e.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var e=function(){function t(){var t=this;this.gamepads=new Map,this.eventHandler=function(e){\"gamepadconnected\"===e.type?t.gamepadConnected(e.gamepad):\"gamepaddisconnected\"===e.type&&t.gamepadDisconected(e.gamepad)},window.addEventListener(\"gamepadconnected\",this.eventHandler),window.addEventListener(\"gamepaddisconnected\",this.eventHandler)}return t.prototype.getGamepad=function(t){var e;return null!==(e=this.gamepads.get(t))&&void 0!==e?e:null},t.prototype.getGamepads=function(){return Array.from(this.gamepads.values())},t.prototype.gamepadConnected=function(t){this.gamepads.set(t.index,new n),this.gamepads.get(t.index).updateFromGamepad(t)},t.prototype.gamepadDisconected=function(t){this.gamepads.delete(t.index)},t.prototype.update=function(){for(var t=0,e=this.getGamepadsFromBrowser();t<e.length;t++){var n=e[t];null!==n&&(!1===this.gamepads.has(n.index)?this.gamepadConnected(n):this.gamepads.get(n.index).updateFromGamepad(n))}},t.prototype.getGamepadsFromBrowser=function(){return navigator.getGamepads?navigator.getGamepads():navigator.webkitGetGamepads?navigator.webkitGetGamepads:[]},t}(),n=function(){function e(){this.buttons=new Map,this.axes=new Map,this._dpadAxes=new t,this._leftStickAxes=new t,this._rightStickAxes=new t,this._vibrating=!1}return e.prototype.updateFromGamepad=function(t){var e=this;this._gamepad=t,t.buttons.forEach((function(t,n){return e.buttons.set(n,t.pressed)})),t.axes.forEach((function(t,n){return e.axes.set(n,t)}))},Object.defineProperty(e.prototype,\"id\",{get:function(){return this._gamepad.id},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"connected\",{get:function(){return this._gamepad.connected},enumerable:!1,configurable:!0}),e.prototype.getButtonPressed=function(t){return this.buttons.get(t)},e.prototype.getAxis=function(t){return this.axes.get(t)},Object.defineProperty(e.prototype,\"dpadAxes\",{get:function(){return this._dpadAxes.set(this.dpadRight?1:this.dpadLeft?-1:0,this.dpadUp?1:this.dpadDown?-1:0),this._dpadAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickAxes\",{get:function(){return this._leftStickAxes.set(this.leftStickHorizontal,this.leftStickVertical),this._leftStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickAxes\",{get:function(){return this._rightStickAxes.set(this.rightStickHorizontal,this.rightStickVertical),this._rightStickAxes},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadUp\",{get:function(){var t;return null!==(t=this.buttons.get(12))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadDown\",{get:function(){var t;return null!==(t=this.buttons.get(13))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadLeft\",{get:function(){var t;return null!==(t=this.buttons.get(14))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"dpadRight\",{get:function(){var t;return null!==(t=this.buttons.get(15))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"bottomFace\",{get:function(){var t;return null!==(t=this.buttons.get(0))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightFace\",{get:function(){var t;return null!==(t=this.buttons.get(1))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftFace\",{get:function(){var t;return null!==(t=this.buttons.get(2))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"topFace\",{get:function(){var t;return null!==(t=this.buttons.get(3))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(4))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightShoulder\",{get:function(){var t;return null!==(t=this.buttons.get(5))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(6))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightTrigger\",{get:function(){var t;return null!==(t=this.buttons.get(7))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"back\",{get:function(){var t;return null!==(t=this.buttons.get(8))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"start\",{get:function(){var t;return null!==(t=this.buttons.get(9))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(10))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickButton\",{get:function(){var t;return null!==(t=this.buttons.get(11))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(0))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"leftStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(1))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickHorizontal\",{get:function(){var t;return null!==(t=this.axes.get(2))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightStickVertical\",{get:function(){var t;return null!==(t=-this.axes.get(3))&&void 0!==t?t:0},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"anyButtonPressed\",{get:function(){var t;return null!==(t=Array.from(this.buttons.values()).find((function(t){return t})))&&void 0!==t&&t},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"vibrating\",{get:function(){return this._vibrating},enumerable:!1,configurable:!0}),e.prototype.vibrate=function(t,e,n,i){var r=this;void 0===t&&(t=200),void 0===e&&(e=.2),void 0===n&&(n=.2),void 0===i&&(i=0),this._gamepad.vibrationActuator&&(this._vibrating=!0,this._gamepad.vibrationActuator.playEffect(this._gamepad.vibrationActuator.type,{duration:t,weakMagnitude:e,strongMagnitude:n,startDelay:i}).catch((function(){return r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},e}(),i=function(){function t(t,e,n,i){this.mouse=t,this.keyboard=e,this.gamepad=n,this.touch=i}return t.prototype.update=function(){this.mouse.update(),this.gamepad.update()},t}(),r=function(){function t(t){var e=this;this.pressedKeys=[],this.keyMap=new Map,this.eventHandler=function(t){if(\"keydown\"===t.type&&(e.keyMap.set(t.code,!0),e.pressedKeys.includes(t.code)||e.pressedKeys.push(t.code)),\"keyup\"===t.type){e.keyMap.set(t.code,!1);var n=e.pressedKeys.indexOf(t.code);-1!==n&&e.pressedKeys.splice(n,1)}},t.addEventListener(\"keydown\",this.eventHandler),t.addEventListener(\"keyup\",this.eventHandler)}return t.prototype.isPressed=function(t){var e;return null!==(e=this.keyMap.get(t))&&void 0!==e&&e},t.prototype.orPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t||null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!1)},t.prototype.andPressed=function(t){var e=this;return t.reduce((function(t,n){var i;return t&&null!==(i=e.keyMap.get(n))&&void 0!==i&&i}),!0)},t.prototype.isPressedReturn=function(t,e,n){return this.keyMap.get(t)?e:n},t.prototype.orPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t||null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!1)?e:n},t.prototype.andPressedReturn=function(t,e,n){var i=this;return t.reduce((function(t,e){var n;return t&&null!==(n=i.keyMap.get(e))&&void 0!==n&&n}),!0)?e:n},t}(),o=function(){function e(e){this._leftButtonPressed=!1,this._scrollButtonPressed=!1,this._rightButtonPressed=!1,this._positionInViewport=new t(0,0),this._hasMoved=!1,this.lastPositionInViewport=new t(0,0),this.canvas=e,this.setup()}return Object.defineProperty(e.prototype,\"leftButtonPressed\",{get:function(){return this._leftButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"scrollButtonPressed\",{get:function(){return this._scrollButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"rightButtonPressed\",{get:function(){return this._rightButtonPressed},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"positionInViewport\",{get:function(){return this._positionInViewport},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"hasMoved\",{get:function(){return this._hasMoved},enumerable:!1,configurable:!0}),e.prototype.update=function(){!1===this._positionInViewport.equals(this.lastPositionInViewport)?(this._hasMoved=!0,this.lastPositionInViewport.copy(this._positionInViewport)):this._hasMoved=!1},e.prototype.setup=function(){var t=this;this.canvas.addEventListener(\"mousemove\",(function(e){return t.updatePosition(e)})),this.canvas.addEventListener(\"mousedown\",(function(e){return t.updateButtonDown(e)})),this.canvas.addEventListener(\"mouseup\",(function(e){return t.updateButtonUp(e)}))},e.prototype.updateButtonDown=function(t){this.canvas.focus(),t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0===t.button,this._scrollButtonPressed=1===t.button,this._rightButtonPressed=2===t.button},e.prototype.updateButtonUp=function(t){t.preventDefault(),t.stopPropagation(),this._leftButtonPressed=0!==t.button&&this._leftButtonPressed,this._scrollButtonPressed=1!==t.button&&this._scrollButtonPressed,this._rightButtonPressed=2!==t.button&&this._rightButtonPressed},e.prototype.updatePosition=function(t){t.preventDefault(),t.stopPropagation(),this._positionInViewport.set(t.offsetX/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-t.offsetY/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2)},e}(),s=function(){function e(t){var e=this;this._touching=!1,this._interactions=[],this.eventHandler=function(t){\"touchstart\"===t.type&&(e._touching=!0,e.updatePosition(t)),\"touchmove\"===t.type&&e.updatePosition(t),\"touchend\"!==t.type&&\"touchcancel\"!==t.type||(e._touching=!1)},this.canvas=t,this.canvas.addEventListener(\"touchstart\",this.eventHandler),this.canvas.addEventListener(\"touchend\",this.eventHandler),this.canvas.addEventListener(\"touchcancel\",this.eventHandler),this.canvas.addEventListener(\"touchmove\",this.eventHandler)}return Object.defineProperty(e.prototype,\"touching\",{get:function(){return this._touching},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"interactions\",{get:function(){return this._interactions},enumerable:!1,configurable:!0}),e.prototype.updatePosition=function(e){if(e.preventDefault(),e.stopPropagation(),this._interactions=[],0!==e.targetTouches.length)for(var n=0;n<e.targetTouches.length;n++)this._interactions[n]={positionInViewport:new t((e.targetTouches[n].clientX-this.canvas.offsetLeft)/(this.canvas.clientWidth/this.canvas.width)-this.canvas.width/2,-(e.targetTouches[n].clientY-this.canvas.offsetTop)/(this.canvas.clientHeight/this.canvas.height)+this.canvas.height/2),radius:new t(e.targetTouches[n].radiusX,e.targetTouches[n].radiusY)}},e}(),u=function(t){return new i(new o(t),new r(t),new e,new s(t))};export{e as GamepadController,n as GamepadData,r as KeyboardController,o as MouseController,s as TouchController,u as inputManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n","var t=function(){function t(t,i){void 0===t&&(t=0),void 0===i&&(i=0),this._x=t,this._y=i}return Object.defineProperty(t.prototype,\"x\",{get:function(){return this._x},set:function(t){this._x=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"y\",{get:function(){return this._y},set:function(t){this._y=t},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"magnitude\",{get:function(){return Math.sqrt(Math.pow(this._x,2)+Math.pow(this._y,2))},enumerable:!1,configurable:!0}),Object.defineProperty(t.prototype,\"direction\",{get:function(){return this._direction||(this._direction=new t),t.unit(this._direction,this)},enumerable:!1,configurable:!0}),t.prototype.set=function(t,i){this._x=t,this._y=i},t.prototype.copy=function(t){this.set(t.x,t.y)},t.prototype.equals=function(t){return this._x===t.x&&this._y===t.y},t.prototype.clone=function(){return new t(this._x,this._y)},t.prototype.distance=function(t){return Math.sqrt(Math.pow(this._x-t.x,2)+Math.pow(this._y-t.y,2))},t.add=function(t,i,e){return t.set(i.x+e.x,i.y+e.y),t},t.subtract=function(t,i,e){return t.set(i.x-e.x,i.y-e.y),t},t.unit=function(t,i){return 0===i.magnitude?t.set(0,0):t.set(i.x/i.magnitude,i.y/i.magnitude),t},t.normal=function(t,i){return t.set(-i.y,i.x),this.unit(t,t)},t.scale=function(t,i,e){return t.set(i.x*e,i.y*e),t},t.dot=function(t,i){return t.x*i.x+t.y*i.y},t.cross=function(t,i){return t.x*i.y-t.y*i.x},t.round=function(t,i){return t.set(Math.round(i.x),Math.round(i.y)),t},t}(),i=function(){function i(i,e,o,n){this._position=new t,this._center=new t,this._width=0,this._height=0,this.set(i,e,o,n)}return Object.defineProperty(i.prototype,\"x\",{get:function(){return this._position.x},set:function(t){this._position.set(t,this._position.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y\",{get:function(){return this._position.y},set:function(t){this._position.set(this._position.x,t)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"x1\",{get:function(){return this._position.x+this._width},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"y1\",{get:function(){return this._position.y+this._height},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.set(t.x,t.y)},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"width\",{get:function(){return this._width},set:function(t){this._width=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"height\",{get:function(){return this._height},set:function(t){this._height=t},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"center\",{get:function(){return this._center.set(this.x+this.width/2,this.y+this.height/2),this._center},enumerable:!1,configurable:!0}),i.prototype.set=function(t,i,e,o){this._position.set(t,i),this._width=e,this._height=o},i.prototype.equals=function(t){return this.position.equals(t.position)&&this.width===t.width&&this.height===t.height},i.prototype.copy=function(t){this.set(t.x,t.y,t.width,t.height)},i.prototype.overlaps=function(t){return this.x1>=t.x&&this.x<t.x1&&this.y1>=t.y&&this.y<t.y1},i.prototype.contains=function(e){return e instanceof i?e.x1<=this.x1&&e.x>=this.x&&e.y1<=this.y1&&e.y>=this.y:e instanceof t&&!(e.x<this.x||e.y<this.y||e.x>=this.x1||e.y>=this.y1)},i}(),e=function(t,i,e){return Math.min(e,Math.max(i,t))};!function(){function i(i,e){void 0===i&&(i=null),void 0===e&&(e=null),this._degrees=0,this._radians=0,this._direction=new t,i?this.radians=i:e&&(this.degrees=e)}Object.defineProperty(i.prototype,\"degrees\",{get:function(){return this._degrees},set:function(t){this._degrees=t,this._radians=t*Math.PI/180,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"radians\",{get:function(){return this._radians},set:function(t){this._radians=t,this._degrees=180*t/Math.PI,this.updateDirection()},enumerable:!1,configurable:!0}),Object.defineProperty(i.prototype,\"direction\",{get:function(){return this._direction},enumerable:!1,configurable:!0}),i.prototype.updateDirection=function(){this._direction.set(Math.cos(this._radians),Math.sin(this._radians))}}();var o,n=function(){function i(){this.lastId=0}return i.prototype.create=function(i){var e=i.shape,o=i.layer,n=i.updateCollisions,s=i.physics,r=i.position,h=i.rotation,a=i.group,c=i.onCollision;return{id:++this.lastId,active:!0,layer:o,shape:e,updateCollisions:n,physics:s,position:null!=r?r:new t,rotation:null!=h?h:0,group:a,onCollision:c}},i}(),s=function(){function t(t,e){void 0===e&&(e=0),this.area=new i(0,0,0,0),this.depth=0,this.items=[],this.children=[],this.depth=e,this.resize(t)}return t.prototype.resize=function(t){this.clear(),this.area.copy(t)},t.prototype.clear=function(){this.items=[],this.children.forEach((function(t){return t.clear()})),this.children=[]},t.prototype.insert=function(t,i){0===this.children.length&&this.items.length>16&&this.depth<8&&this.split(),this.children.length>0?this.insertItemIntoChildren(t,i):this.items.push([t,i])},t.prototype.split=function(){var e=this,o=this.area.width/2,n=this.area.height/2;this.children=[new i(this.area.x,this.area.y,o,n),new i(this.area.x,this.area.y+n,o,n),new i(this.area.x+o,this.area.y+n,o,n),new i(this.area.x+o,this.area.y,o,n)].map((function(i){return new t(i,e.depth+1)})),this.items.forEach((function(t){return e.insertItemIntoChildren(t[0],t[1])})),this.items=[]},t.prototype.insertItemIntoChildren=function(t,i){this.getChildrenForArea(i).forEach((function(e){return e.insert(t,i)}))},t.prototype.retrieve=function(t){var i=[];return this.children.length>0?this.getChildrenForArea(t).forEach((function(e){return i.push.apply(i,e.retrieve(t))})):this.items.forEach((function(t){return i.push(t[0])})),i},t.prototype.getChildrenForArea=function(t){var i=[];return t.x<=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[0]),t.x<=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[1]),t.x1>=this.area.center.x&&t.y1>=this.area.center.y&&i.push(this.children[2]),t.x1>=this.area.center.x&&t.y<=this.area.center.y&&i.push(this.children[3]),i},t}(),r=function(t,i,e,o){return Math.min((t-i)/e|0,o-1)},h=function(){function t(t){this.coordinates={x0:0,x1:0,y0:0,y1:0},this._subdivisions=1,this.resize(t)}return Object.defineProperty(t.prototype,\"subdivisions\",{get:function(){return this._subdivisions},set:function(t){this._subdivisions=e(t,1,20)},enumerable:!1,configurable:!0}),t.prototype.resize=function(t){this.area=t,this.cellWidth=Math.ceil(t.width/this._subdivisions),this.cellHeight=Math.ceil(t.height/this._subdivisions),this.itemsInCells=[];for(var i=0;i<this._subdivisions;i++){this.itemsInCells[i]=[];for(var e=0;e<this._subdivisions;e++)this.itemsInCells[i][e]=[]}},t.prototype.clear=function(){for(var t=0;t<this._subdivisions;t++)for(var i=0;i<this._subdivisions;i++)this.itemsInCells[t][i]=[]},t.prototype.insert=function(t,i){this.updateCoordinates(i);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].push(t)},t.prototype.retrieve=function(t){var i=[];this.updateCoordinates(t);for(var e=this.coordinates.x0;e<=this.coordinates.x1;e++)for(var o=this.coordinates.y0;o<=this.coordinates.y1;o++)this.itemsInCells[e][o].forEach((function(t){return i.includes(t)?null:i.push(t)}));return i},t.prototype.updateCoordinates=function(t){this.coordinates.x0=r(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=r(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=r(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=r(t.y1,this.area.y,this.cellHeight,this._subdivisions)},t}();!function(t){t[t.QuadTree=0]=\"QuadTree\",t[t.SpartialGrid=1]=\"SpartialGrid\"}(o||(o={}));var a,c=function(){function e(e,n,s,r){this.collisions=[],this.lastCollidersAmount=0,this.minArea=new t,this.maxArea=new t,this.newArea=new i(0,0,0,0),this.method=e,this.colliders=[],this.activeColliders=[],this.collisionMatrix=r,this.setupBroadPhaseResolver(null!=n?n:o.QuadTree,s)}return e.prototype.setupBroadPhaseResolver=function(t,e){this.collisionArea=null!=e?e:new i(0,0,0,0),this.fixedCollisionArea=!!e,t===o.SpartialGrid?this.broadPhaseResolver=new h(this.collisionArea):this.broadPhaseResolver=new s(this.collisionArea)},e.prototype.addCollider=function(t){this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders.find((function(i){return i.id===t}))},e.prototype.removeCollider=function(t){var i=this.colliders.indexOf(t);i>=0&&this.colliders.splice(i,1)},e.prototype.clearColliders=function(){this.colliders=[]},e.prototype.getCollisionsForCollider=function(t){return t.active?this.collisions.filter((function(i){return i.localCollider.id===t.id})):[]},e.prototype.refreshCollisionsForCollider=function(t){this.getCollider(t.id)&&t.active&&(this.collisions=this.collisions.filter((function(i){return i.localCollider.id!==t.id&&i.remoteCollider.id!==t.id})),this.updateShape(t),this.narrowPhase(t,this.broadPhase(t)))},e.prototype.resolve=function(){var t=this;this.collisions=[],0!==this.colliders.length&&(this.activeColliders=this.colliders.filter((function(t){return t.active})),this.broadPhaseResolver.clear(),this.activeColliders.forEach((function(i){t.updateShape(i)})),!1===this.fixedCollisionArea&&(this.updateNewArea(),!1===this.newArea.equals(this.collisionArea)&&(this.collisionArea.copy(this.newArea),this.broadPhaseResolver.resize(this.collisionArea))),this.checkForSpartialGridResize(),this.activeColliders.forEach((function(i){var e=i.id,o=i.shape.boundingBox;return t.broadPhaseResolver.insert(e,o)})),this.updateCollisions())},e.prototype.updateShape=function(t){t.shape.position=t.position,t.shape.rotation=t.rotation,t.shape.update()},e.prototype.updateNewArea=function(){var t=this;this.activeColliders.forEach((function(i){var e=i.shape.boundingBox;t.minArea.set(Math.min(e.x,t.minArea.x),Math.min(e.y,t.minArea.y)),t.maxArea.set(Math.max(e.x1,t.maxArea.x),Math.max(e.y1,t.maxArea.y))})),this.newArea.set(this.minArea.x,this.minArea.y,this.maxArea.x-this.minArea.x,this.maxArea.y-this.minArea.y)},e.prototype.checkForSpartialGridResize=function(){this.broadPhaseResolver instanceof h&&this.lastCollidersAmount!==this.activeColliders.length&&(this.broadPhaseResolver.subdivisions=1+(this.activeColliders.length/10|0),this.broadPhaseResolver.resize(this.collisionArea),this.lastCollidersAmount=this.activeColliders.length)},e.prototype.updateCollisions=function(){var t=this;this.activeColliders.filter((function(t){return t.updateCollisions})).forEach((function(i){return t.narrowPhase(i,t.broadPhase(i))}))},e.prototype.broadPhase=function(t){var i=this;return this.collisionMatrix?this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.getCollider(t)})).filter((function(t){return t.active})).filter((function(e){return i.collisionMatrix.some((function(i){return i[0]===t.layer&&i[1]===e.layer||i[1]===t.layer&&i[0]===e.layer}))})):this.broadPhaseResolver.retrieve(t.shape.boundingBox).map((function(t){return i.getCollider(t)})).filter((function(t){return t.active}))},e.prototype.narrowPhase=function(t,i){var e=this;i.filter((function(i){return!(t.group&&i.group&&i.group===t.group||t.id===i.id)})).forEach((function(i){if(!e.isResolved(t,i)){var o=e.method.getCollisionResolution(t.shape,i.shape);null!==o&&(e.collisions.push({localCollider:t,remoteCollider:i,resolution:o},{localCollider:i,remoteCollider:t,resolution:{direction:o.displacementDirection,displacementDirection:o.direction,penetration:o.penetration}}),t.onCollision&&t.onCollision(o))}}))},e.prototype.isResolved=function(t,i){for(var e=0,o=this.collisions;e<o.length;e++){var n=o[e];if(n.localCollider.id===t.id&&n.remoteCollider.id===i.id)return!0}return!1},e}();!function(t){t[t.Polygon=0]=\"Polygon\",t[t.Circumference=1]=\"Circumference\",t[t.Line=2]=\"Line\"}(a||(a={}));var l,u=function(){function t(t,i,e){this.AABBResolver=t,this.circumferenceAABBResolver=i,this.circumferenceResolver=e}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Polygon&&i.type===a.Polygon?this.AABBResolver.resolve(t,i):t.type===a.Circumference&&i.type===a.Polygon?this.circumferenceAABBResolver.resolve(t,i):t.type===a.Polygon&&i.type===a.Circumference?this.circumferenceAABBResolver.resolve(i,t,!0):t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):null},t}();!function(t){t[t.AABB=0]=\"AABB\",t[t.SAT=1]=\"SAT\"}(l||(l={}));var p=function(){function t(t,i){this.circumferenceResolver=t,this.satResolver=i}return t.prototype.getCollisionResolution=function(t,i){return t.type===a.Circumference&&i.type===a.Circumference?this.circumferenceResolver.resolve(t,i):this.satResolver.resolve(t,i)},t}(),d=function(){function i(){this.direction=new t,this.displacementDirection=new t}return i.prototype.resolve=function(i,e){var o=i.boundingBox,n=e.boundingBox;return this.overlapX=Math.min(o.x1,n.x1)-Math.max(o.x,n.x),this.overlapY=Math.min(o.y1,n.y1)-Math.max(o.y,n.y),this.overlapX<0||this.overlapY<0?null:(this.checkOverlapForLines(o,n),this.direction.set(Math.sign(n.center.x-o.center.x),Math.sign(n.center.y-o.center.y)),this.preventContainment(o,n),this.overlapY<this.overlapX?(this.minOverlap=this.overlapY,this.displacementDirection.set(0,-this.direction.y)):(this.minOverlap=this.overlapX,this.displacementDirection.set(-this.direction.x,this.overlapY===this.overlapX?-this.direction.y:0)),t.unit(this.displacementDirection,this.displacementDirection),{direction:t.scale(new t,this.displacementDirection,-1),displacementDirection:this.displacementDirection.clone(),penetration:this.minOverlap})},i.prototype.checkOverlapForLines=function(t,i){0!==t.width&&0!==i.width||0!==this.overlapX||(this.overlapX=Math.min(Math.abs(t.x-i.x),Math.abs(t.x1-i.x1))),0!==t.height&&0!==i.height||0!==this.overlapY||(this.overlapY=Math.min(Math.abs(t.y-i.y),Math.abs(t.y1-i.y1)))},i.prototype.preventContainment=function(t,i){if(this.overlapY>0&&(t.y1>i.y1&&t.y<i.y||t.y1<i.y1&&t.y>i.y)){var e=Math.abs(t.y-i.y),o=Math.abs(t.y1-i.y1);this.overlapY+=e<o?e:o}if(this.overlapX>0&&(t.x1>i.x1&&t.x<i.x||t.x1<i.x1&&t.x>i.x)){e=Math.abs(t.x-i.x),o=Math.abs(t.x1-i.x1);this.overlapX+=e<o?e:o}},i}(),f=function(){function i(){this.closestPoint=new t,this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,o,n){return void 0===n&&(n=!1),this.closestPoint.set(e(i.position.x,o.boundingBox.x,o.boundingBox.x1),e(i.position.y,o.boundingBox.y,o.boundingBox.y1)),t.subtract(this.distance,this.closestPoint,i.position),this.distance.magnitude>i.radius?null:(t.unit(this.direction,this.distance),{direction:n?t.scale(new t,this.direction,-1):this.direction.clone(),displacementDirection:n?this.direction.clone():t.scale(new t,this.direction,-1),penetration:i.radius-this.distance.magnitude})},i}(),y=function(){function i(){this.distance=new t,this.direction=new t}return i.prototype.resolve=function(i,e){return t.subtract(this.distance,e.position,i.position),this.distance.magnitude>i.radius+e.radius?null:(t.unit(this.direction,this.distance),{direction:this.direction.clone(),displacementDirection:t.scale(new t,this.direction,-1),penetration:i.radius+e.radius-this.distance.magnitude})},i}(),x=function(t,i){return x=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(t,i){t.__proto__=i}||function(t,i){for(var e in i)Object.prototype.hasOwnProperty.call(i,e)&&(t[e]=i[e])},x(t,i)};function v(t,i,e){if(e||2===arguments.length)for(var o,n=0,s=i.length;n<s;n++)!o&&n in i||(o||(o=Array.prototype.slice.call(i,0,n)),o[n]=i[n]);return t.concat(o||Array.prototype.slice.call(i))}\"function\"==typeof SuppressedError&&SuppressedError;var m,g=function(){function i(){this.projA={min:0,max:0},this.projB={min:0,max:0},this.smallestAxis=new t,this.distance=new t(1/0,1/0),this.cache=new t}return i.prototype.resolve=function(i,e){var o=this;this.minOverlap=1/0,i.type===a.Circumference?this.setCircumferenceAxis(i,e):e.type===a.Circumference&&this.setCircumferenceAxis(e,i),this.axes=v([],i.projectionAxes,!0),e.projectionAxes.forEach((function(t){return o.axes.some((function(i){return i.equals(t)}))?null:o.axes.push(t)}));for(var n=0;n<this.axes.length;n++){if(i.type===a.Circumference?this.setCircumferenceVertices(i,this.axes[n]):e.type===a.Circumference&&this.setCircumferenceVertices(e,this.axes[n]),this.projectShapeOntoAxis(this.projA,i,this.axes[n]),this.projectShapeOntoAxis(this.projB,e,this.axes[n]),this.currentOverlap=Math.min(this.projA.max,this.projB.max)-Math.max(this.projA.min,this.projB.min),this.currentOverlap<0)return null;if(this.invertAxis=!0,this.projA.max>this.projB.max&&this.projA.min<this.projB.min||this.projA.max<this.projB.max&&this.projA.min>this.projB.min){var s=Math.abs(this.projA.min-this.projB.min),r=Math.abs(this.projA.max-this.projB.max);s<r?this.currentOverlap+=s:(this.currentOverlap+=r,t.scale(this.axes[n],this.axes[n],-1),this.invertAxis=!1)}this.currentOverlap<this.minOverlap&&(this.minOverlap=this.currentOverlap,this.smallestAxis.copy(this.axes[n]),this.invertAxis&&this.projA.max<this.projB.max&&t.scale(this.smallestAxis,this.axes[n],-1))}return{direction:t.scale(new t,this.smallestAxis,-1),displacementDirection:this.smallestAxis.clone(),penetration:this.minOverlap}},i.prototype.projectShapeOntoAxis=function(i,e,o){return i.min=1/0,i.max=-1/0,e.vertices.forEach((function(e){i.min=Math.min(t.dot(o,e),i.min),i.max=Math.max(t.dot(o,e),i.max)})),i},i.prototype.setCircumferenceAxis=function(i,e){var o=this;this.distance.set(1/0,1/0),e.vertices.forEach((function(e){t.subtract(o.cache,e,i.position),o.cache.magnitude<o.distance.magnitude&&o.distance.copy(o.cache)})),t.unit(i.projectionAxes[0],this.distance)},i.prototype.setCircumferenceVertices=function(i,e){t.add(i.vertices[0],i.position,t.scale(this.cache,t.unit(this.cache,e),-i.radius)),t.add(i.vertices[1],i.position,t.scale(this.cache,t.unit(this.cache,e),i.radius))},i}(),b=function(){function t(t,i,e,o){this.collisionManager=t,this.colliderFactory=i,this.rigidBodyManager=e,this.rigidBodyFactory=o}return t.prototype.addCollider=function(t){var i=this.colliderFactory.create(t);return this.collisionManager.addCollider(i),i},t.prototype.removeCollider=function(t){this.collisionManager.removeCollider(t)},t.prototype.getCollisionsForCollider=function(t){return this.collisionManager.getCollisionsForCollider(t)},t.prototype.addRigidBody=function(t){var i=this.rigidBodyFactory.create(t);return this.rigidBodyManager.addRigidBody(i),i},t.prototype.removeRigidBody=function(t){this.rigidBodyManager.removeRigidBody(t)},t.prototype.resolve=function(t){this.collisionManager.resolve(),this.rigidBodyManager.resolve(t)},t.prototype.clear=function(){this.collisionManager.clearColliders(),this.rigidBodyManager.clearRigidBodies()},t}(),M=function(){function i(){this.lastId=0}return i.prototype.create=function(i){var e=i.colliderIds,o=i.type,n=i.gravity,s=i.position,r=i.velocity,h=i.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{id:++this.lastId,active:!0,colliderIds:e,type:o,gravity:null!=n?n:0,position:null!=s?s:new t,velocity:null!=r?r:new t,onResolve:h}},i}();!function(t){t[t.Static=0]=\"Static\",t[t.Dynamic=1]=\"Dynamic\",t[t.Kinematic=2]=\"Kinematic\"}(m||(m={}));var A=[\"x\",\"y\"],C=function(){function i(i){this.collisionManager=i,this.rigidBodies=[],this.activeRigidBodies=[],this.colliders=[],this.velocity=new t,this.displacement=new t,this.cacheDisplacement=0}return i.prototype.addRigidBody=function(t){this.rigidBodies.push(t)},i.prototype.removeRigidBody=function(t){var i=this.rigidBodies.indexOf(t);i>=0&&this.rigidBodies.splice(i,1)},i.prototype.clearRigidBodies=function(){this.rigidBodies=[]},i.prototype.resolve=function(t){var i=this;this.activeRigidBodies=this.rigidBodies.filter((function(t){return t.active})),this.colliders=this.activeRigidBodies.reduce((function(t,i){return v(v([],t,!0),i.colliderIds,!0)}),[]),this.activeRigidBodies.forEach((function(e){e.type===m.Dynamic?i.dynamicUpdate(e,t):e.type===m.Kinematic&&i.kinematicUpdate(e,t),e.onResolve&&e.onResolve(e)}))},i.prototype.dynamicUpdate=function(t,i){var e=this;this.applyGravity(t,i),A.forEach((function(o){e.applyVelocity(t,i,o),e.obtainDisplacement(t,o),e.applyReposition(t,o)}))},i.prototype.kinematicUpdate=function(i,e){var o=this;t.add(i.position,i.position,t.scale(this.velocity,i.velocity,e)),i.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(i){t.add(i.position,i.position,o.velocity),o.collisionManager.refreshCollisionsForCollider(i)}))},i.prototype.applyGravity=function(t,i){t.gravity>0&&(t.velocity.y-=t.gravity*i)},i.prototype.applyVelocity=function(t,i,e){var o=this;this.velocity[e]=t.velocity[e]*i,0!==this.velocity[e]&&(t.position[e]+=this.velocity[e],t.colliderIds.map((function(t){return o.collisionManager.getCollider(t)})).forEach((function(t){t.position[e]+=o.velocity[e],o.collisionManager.refreshCollisionsForCollider(t)})))},i.prototype.obtainDisplacement=function(t,i){var e=this;this.displacement[i]=0,this.getCollisions(t).forEach((function(t){e.cacheDisplacement=t.resolution.displacementDirection[i]*t.resolution.penetration,e.displacement[i]=Math.abs(e.displacement[i])>Math.abs(e.cacheDisplacement)?e.displacement[i]:e.cacheDisplacement}))},i.prototype.applyReposition=function(t,i){var e=this;0!==this.displacement[i]&&(t.position[i]+=this.displacement[i],t.colliderIds.map((function(t){return e.collisionManager.getCollider(t)})).forEach((function(t){t.position[i]+=e.displacement[i],e.collisionManager.refreshCollisionsForCollider(t)})),Math.sign(this.displacement[i])!==Math.sign(t.velocity[i])&&(t.velocity[i]=0))},i.prototype.getCollisions=function(t){var i=this;return t.colliderIds.map((function(t){return i.collisionManager.getCollider(t)})).filter((function(t){return t.active&&t.physics})).reduce((function(t,e){return t.push.apply(t,i.collisionManager.getCollisionsForCollider(e).filter((function(t){return t.remoteCollider.physics&&i.colliders.includes(t.remoteCollider.id)}))),t}),[])},i}(),_=function(){function e(e){this.radius=e,this.type=a.Circumference,this.boundingBox=new i(0,0,0,0),this.vertices=[new t,new t],this.projectionAxes=[new t],this._position=new t}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateBoundingBox()},e.prototype.updateBoundingBox=function(){this.boundingBox.set(this.position.x-this.radius,this.position.y-this.radius,2*this.radius,2*this.radius)},e}(),w=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[new t,new t],this.projectionAxes=[new t],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._position=new t}return e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){this.boundingBox.x=Math.min(this.vertices[0].x,this.vertices[1].x),this.boundingBox.y=Math.min(this.vertices[0].y,this.vertices[1].y),this.boundingBox.width=Math.max(this.vertices[0].x,this.vertices[1].x)-this.boundingBox.x,this.boundingBox.height=Math.max(this.vertices[0].y,this.vertices[1].y)-this.boundingBox.y},e.prototype.updateProjectionAxes=function(){t.normal(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0]))},e}(),B=function(){function e(e){this.vertexModel=e,this.type=a.Polygon,this.vertices=[],this.boundingBox=new i(0,0,0,0),this.rotation=0,this._projectionAxes=[],this._position=new t,this.boxMinX=Number.MAX_SAFE_INTEGER,this.boxMinY=Number.MAX_SAFE_INTEGER,this.boxMaxX=-Number.MAX_SAFE_INTEGER,this.boxMaxY=-Number.MAX_SAFE_INTEGER;for(var o=0;o<this.vertexModel.length;o++)this.vertices.push(new t),this._projectionAxes.push(new t)}return Object.defineProperty(e.prototype,\"position\",{get:function(){return this._position},set:function(t){this._position.copy(t)},enumerable:!1,configurable:!0}),Object.defineProperty(e.prototype,\"projectionAxes\",{get:function(){return this._projectionAxes},enumerable:!1,configurable:!0}),e.prototype.update=function(){this.updateVertices(),this.updateBoundingBox(),this.updateProjectionAxes()},e.prototype.updateVertices=function(){for(var t=0;t<this.vertexModel.length;t++)this.vertices[t].set(this.vertexModel[t].x*Math.cos(this.rotation)-this.vertexModel[t].y*Math.sin(this.rotation)+this._position.x,this.vertexModel[t].x*Math.sin(this.rotation)+this.vertexModel[t].y*Math.cos(this.rotation)+this._position.y)},e.prototype.updateBoundingBox=function(){var t=this;this.boxMinX=this.vertices[0].x,this.boxMinY=this.vertices[0].y,this.boxMaxX=this.vertices[0].x,this.boxMaxY=this.vertices[0].y,this.vertices.forEach((function(i){t.boxMinX=Math.min(i.x,t.boxMinX),t.boxMinY=Math.min(i.y,t.boxMinY),t.boxMaxX=Math.max(i.x,t.boxMaxX),t.boxMaxY=Math.max(i.y,t.boxMaxY)})),this.boundingBox.set(this.boxMinX,this.boxMinY,this.boxMaxX-this.boxMinX,this.boxMaxY-this.boxMinY)},e.prototype.updateProjectionAxes=function(){for(var i,e=0;e<this.vertices.length;e++)t.normal(this._projectionAxes[e],t.subtract(this._projectionAxes[e],null!==(i=this.vertices[e+1])&&void 0!==i?i:this.vertices[0],this.vertices[e]))},e}(),j=function(i){function e(e,o){var n=i.call(this,[new t(-e/2,-o/2),new t(-e/2,o/2),new t(e/2,o/2),new t(e/2,-o/2)])||this;return n.width=e,n.height=o,n._projectionAxes=[new t,new t],n}return function(t,i){if(\"function\"!=typeof i&&null!==i)throw new TypeError(\"Class extends value \"+String(i)+\" is not a constructor or null\");function e(){this.constructor=t}x(t,i),t.prototype=null===i?Object.create(i):(e.prototype=i.prototype,new e)}(e,i),e.prototype.updateSize=function(t,i){this.width=t,this.height=i,this.vertexModel[0].set(-t/2,-i/2),this.vertexModel[1].set(-t/2,i/2),this.vertexModel[2].set(t/2,i/2),this.vertexModel[3].set(t/2,-i/2)},e.prototype.updateProjectionAxes=function(){t.unit(this.projectionAxes[0],t.subtract(this.projectionAxes[0],this.vertices[1],this.vertices[0])),t.normal(this.projectionAxes[1],this.projectionAxes[0])},e}(B),P=function(t){var i=void 0===t?{}:t,e=i.collisionArea,o=i.collisionMatrix,s=i.collisionMethod,r=i.collisionBroadPhaseMethod,h=new y,a=s===l.AABB?new u(new d,new f,h):new p(h,new g),x=new c(a,r,e,o),v=new n,m=new C(x),A=new M;return new b(x,v,m,A)};export{o as BroadPhaseMethods,_ as Circumference,l as CollisionMethods,w as Line,B as Polygon,j as Rectangle,m as RigidBodyType,P as physicsManagerFactory};\n//# sourceMappingURL=index.esm.js.map\n"],"names":["t","e","this","_x","_y","Object","defineProperty","prototype","get","set","enumerable","configurable","Math","sqrt","pow","_direction","unit","copy","x","y","equals","clone","distance","add","i","subtract","magnitude","normal","scale","dot","cross","round","n","o","_position","_center","_width","_height","width","height","position","overlaps","x1","y1","contains","r","h","_degrees","_radians","radians","degrees","PI","updateDirection","cos","sin","setPrototypeOf","__proto__","Array","hasOwnProperty","call","TypeError","String","constructor","create","assign","arguments","length","apply","slice","concat","SuppressedError","Init","Start","Update","UpdateEngine","UpdateCollider","UpdatePhysics","UpdateTransform","UpdatePreRender","UpdateCamera","UpdateRender","Destroy","StopGame","s","a","timeManager","physicsManager","renderManager","inputManager","gameObjectManager","sceneManager","canvasColor","running","gameLoopAccumulator","gameObjects","components","changingScene","sceneEvents","gameObjectEvents","start","startLoop","pause","resume","stop","dispatchFrameEvent","clear","clearScreen","loadOpeningScene","requestAnimationLoop","window","performance","now","gameFramerate","physicsFramerate","asyncPhysicsLoop","updateForBrowser","pendingSceneToload","loadPendingScene","browserDeltaTime","minGameDeltatime","gameLogicIteration","renderIteration","unloadCurrentScene","requestAnimationFrame","updateForGame","load","update","updateForPhysics","physicsIteration","render","clearData","timeScale","resolve","physicsDeltaTime","physicsIntervalId","setInterval","clearInterval","document","hidden","loadedScene","getLoadedScene","findGameObjects","filter","active","reduce","getComponents","includes","dispatch","forEach","c","updateEvent","started","container","gameConfig","getConstant","headless","assetManager","getSingleton","domManager","init","onDestroy","_destroy","_stopGame","addGameObject","findGameObject","findGameObjectsByTag","destroyGameObject","l","allowMultiple","_active","gameObject","name","onActiveChange","getCurrentScene","getGameObject","getComponent","hasComponent","removeComponent","keys","u","p","d","f","g","m","Polygon","Circumference","Line","WorldSpace","ViewPort","Sprite","Text","Tilemap","Mask","Geometric","Video","v","gl","viewport","object","setViewport","zoom","canvas","setObjectForResizeable","rotation","abs","setObjectForText","text","fontSize","lineSeparation","letterSpacing","split","max","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","min","setObjectForTilemap","tilemap","ceil","tiles","renderPosition","tileWidth","tileHeight","applyCullingInTiles","culledTiles","map","isInViewPort","location","type","applyCulling","b","M","_","Center","RightUp","RightDown","RightCenter","w","C","webglManager","cullingManager","renderData","cameraData","addRenderData","push","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","TilemapOrientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","P","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","O","clearRect","textBaseline","fillStyle","font","fillText","glyphs","id","measureText","fontFaceFamily","bitmapFontSize","gridSize","createElement","R","shaderLoader","createProgram","VERTEX_SHADER","FRAGMENT_SHADER","attachShader","linkProgram","LINK_STATUS","getProgramParameter","getProgramInfoLog","deleteProgram","A","programFactory","loadProgram","program","positionBuffer","createBuffer","textureBuffer","positionCoordsAttr","getAttribLocation","texCoordsAttr","modelMatrixUniform","getUniformLocation","projectionMatrixUniform","textureMatrixUniform","renderTextureUniform","textureUniform","solidColorUniform","useTintColorUniform","tintColorUniform","useMaskColorUniform","maskColorUniform","maskColorMixUniform","alphaUniform","useProgram","blendFunc","SRC_ALPHA","ONE_MINUS_SRC_ALPHA","enableVertexAttribArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","S","createShader","shaderSource","compileShader","COMPILE_STATUS","getShaderParameter","getShaderInfoLog","deleteShader","T","Float32Array","E","D","F","B","U","hypot","I","L","exec","parseInt","k","V","programManager","vertices","lastVertices","modelPosition","projectionMatrix","modelMatrix","textureMatrix","circumferenceVertices","renderLines","LINE_LOOP","LINES","renderCircumference","generateVerticesKey","generatePolygonVertices","bufferData","DYNAMIC_DRAW","uniformMatrix4fv","uniform1i","color","uniform4f","uniform1f","drawArrays","toString","G","STATIC_DRAW","alpha","enable","BLEND","disable","TRIANGLES","W","textureManager","lastTexture","posVertices","texVertices","flipHorizontal","flipVertical","image","naturalWidth","naturalHeight","getOrCreateTextureFromImage","smooth","bindTexture","TEXTURE_2D","tintColor","maskColor","maskColorMix","TextOrientation","H","z","N","Y","X","fontAtlasFactory","textSize","setDefaultValues","bitmap","charRanges","generateTextVertices","setPositionFromOrientation","getOrCreateTextureFromCanvas","margin","spacing","q","tileset","texMargin","texSpacing","texWidth","texHeight","texCorrection","processTileset","generateVertices","correction","floor","K","video","videoWidth","videoHeight","getOrCreateTextureFromVideo","texImage2D","RGBA","UNSIGNED_BYTE","Q","createFromImage","createFromSource","addEventListener","createFromCanvas","createPixelTexture","Uint8Array","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MIN_FILTER","LINEAR","TEXTURE_MAG_FILTER","NEAREST","$","textureFactory","textures","src","createTextureFromImage","createTextureFromCanvas","createTextureFromVideo","J","renderers","lastRender","clearColor","COLOR_BUFFER_BIT","Z","tt","et","it","nt","lastId","updateCollisions","physics","group","onCollision","ot","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","rt","st","coordinates","x0","y0","_subdivisions","cellWidth","cellHeight","itemsInCells","updateCoordinates","QuadTree","SpartialGrid","at","ht","collisions","lastCollidersAmount","minArea","maxArea","newArea","method","colliders","activeColliders","collisionMatrix","setupBroadPhaseResolver","collisionArea","fixedCollisionArea","broadPhaseResolver","addCollider","getCollider","find","removeCollider","splice","clearColliders","getCollisionsForCollider","localCollider","refreshCollisionsForCollider","remoteCollider","updateShape","narrowPhase","broadPhase","updateNewArea","checkForSpartialGridResize","boundingBox","subdivisions","some","isResolved","getCollisionResolution","resolution","direction","displacementDirection","penetration","ct","lt","AABBResolver","circumferenceAABBResolver","circumferenceResolver","AABB","SAT","ut","satResolver","pt","overlapX","overlapY","checkOverlapForLines","sign","preventContainment","minOverlap","dt","closestPoint","ft","gt","mt","yt","vt","projA","projB","smallestAxis","cache","setCircumferenceAxis","axes","projectionAxes","setCircumferenceVertices","projectShapeOntoAxis","currentOverlap","invertAxis","xt","collisionManager","colliderFactory","rigidBodyManager","rigidBodyFactory","addRigidBody","removeRigidBody","clearRigidBodies","bt","colliderIds","gravity","velocity","onResolve","Static","Dynamic","Kinematic","Mt","_t","rigidBodies","activeRigidBodies","displacement","cacheDisplacement","dynamicUpdate","kinematicUpdate","applyGravity","applyVelocity","obtainDisplacement","applyReposition","getCollisions","wt","updateBoundingBox","Ct","updateVertices","updateProjectionAxes","jt","_projectionAxes","boxMinX","boxMinY","boxMaxX","boxMaxY","Pt","updateSize","Ot","Rt","At","gamepads","eventHandler","gamepadConnected","gamepad","gamepadDisconected","getGamepad","getGamepads","from","values","index","St","updateFromGamepad","delete","getGamepadsFromBrowser","navigator","webkitGetGamepads","buttons","_dpadAxes","_leftStickAxes","_rightStickAxes","_vibrating","_gamepad","pressed","connected","getButtonPressed","getAxis","dpadRight","dpadLeft","dpadUp","dpadDown","leftStickHorizontal","leftStickVertical","rightStickHorizontal","rightStickVertical","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Tt","mouse","keyboard","touch","Et","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Dt","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","lastPositionInViewport","setup","updatePosition","updateButtonDown","updateButtonUp","focus","preventDefault","stopPropagation","button","offsetX","clientWidth","offsetY","clientHeight","Ft","_touching","_interactions","targetTouches","positionInViewport","clientX","offsetLeft","clientY","offsetTop","radiusX","radiusY","Image","Audio","Font","Bt","Ut","assets","getAssetsLoaded","loaded","loadImage","crossOrigin","createAsset","loadAudio","loadFont","then","fonts","loadVideo","playsInline","getImage","url","element","getAudio","getFont","getVideo","It","Lt","_canvas","containerNode","gameWidth","gameHeight","setupCanvas","tabIndex","appendChild","kt","findGameObjectById","findGameObjectsByParent","parent","findGameObjectByParent","tag","destroyAllGameObjects","keep","destroy","destroyChildren","Vt","asyncGameLoop","gameInterval","process","uptime","physicsInterval","Gt","scenes","sceneNamePendingToLoad","addScene","currentScene","openingSceneName","loadScene","Wt","Ht","minPhysicsDeltaTime","unscaledDeltaTime","unscaledPhysicsDeltaTime","maxDeltaTime","thenForGame","thenForPhysics","thenForBrowser","join","parseFloat","toFixed","Nt","instances","constructors","constants","getTranscient","addConstant","Yt","Xt","qt","Kt","Qt","debugEnabled","spriteDefaultScale","collisionMethod","collisionBroadPhaseMethod","$t","_config","setupManagers","zt","iterationManager","run","Jt","parentScale","parentRotation","_scale","_rotation","_innerPosition","_parent","lastParentRadians","lastPosition","scaledInnerPosition","setPositionFromParent","translateInnerPosition","updateScaledInnerPosition","atan2","Zt","renderer","activateColliders","updateRealSize","updateColliders","collidesWithLayer","getCollisionWithLayer","createCollisionData","getCollisionsWithLayer","collider","te","rigidBody","rigidBodyType","getColliderIds","transform","innerPosition","ie","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","ne","oe","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","re","camera","se","game","config","ae","debug","scaledVertexModel","scaledOffset","scaledPosition","finalRotation","he","translate","ce","realOffset","realPosition","realRotation","applyRotation","le","realRadius","ue","pe","tilemapRenderer","composite","scaledTileWidth","scaledTileHeight","scaledWidth","scaledHeight","useLineColliders","useBoxColliders","de","needsCollider","getNeighbors","hasTile","addLineCollider","fe","ge","me","cachePosition","cacheRenderPosition","cacheScale","sprite","offset","opacity","_tiled","tiled","updateRenderDataArray","updateRenderData","calculateRenderPosition","translateRenderPosition","ye","lastFrameText","bitmapMargin","bitmapSpacing","crop","ve","xe","be","_playing","_paused","videoEventHandler","removeEventListener","userInputEventHandler","play","_volume","volume","_loop","loop","currentTime","Me","trim","_e","tilesetTileIds","chunks","tiledData","tilemapLayer","tiledLayer","processTilemap","visible","tintcolor","infinite","processChunk","data","getTilesetTileId","tilesets","firstgid","we","spriteRenderer","animations","currentAnimation","paused","playFrame","deltaTime","restarted","addAnimation","framerate","Ce","playAnimation","stopAnimation","reset","isPlayingAnimation","isPaused","_sprite","_restarted","currentFrame","frameTime","_animation","sprites","je","Pe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Oe","_loaded","Rectangle","ButtonType","Re","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Ae","mousePressed","gameCamera","console","log","BroadPhaseMethods","CollisionMethods","random"],"mappings":"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"}
|