angry-pixel 1.2.11 → 1.2.13

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.
@@ -1 +1 @@
1
- {"version":3,"file":"index.esm.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 r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function r(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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 o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,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(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},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 r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}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\"}(o||(o={})),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,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),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,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r: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,r=t.shape,s=t.radius;r===o.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,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|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 r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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}(),O=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 r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new P(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,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),P=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),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){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\\n\\nin vec4 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 * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp 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 r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=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,r,o,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],r=e[1],o=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]=r,t[2]=o,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]=r*g+h*m+p*y+e[13],t[14]=o*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],r=i[1],o=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]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,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),r=Math.cos(i),o=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]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-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 r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-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]=(r+n)*h,t[14]=(s+o)*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),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},V=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);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 o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r: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 h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 o=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r: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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),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,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s: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=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,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),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 o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),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,r,o,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!==(r=t.bitmap.charRanges)&&void 0!==r?r:N):t.bitmap={margin:H,spacing:z,fontSize:64,charRanges:N},t.color=null!==(o=t.color)&&void 0!==o?o:\"#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,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=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+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.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 h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(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!==(r=t.alpha)&&void 0!==r?r: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!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,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!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o: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 r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),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,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),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!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s: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(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new Z,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),rt=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}(),ot=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=ot(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=ot(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=ot(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=ot(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 rt(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},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.colliders[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.colliders[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.colliders[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 r=n[i];if(r.localCollider.id===t.id&&r.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,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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 r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,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(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new Z,velocity:null!=o?o: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}(),Ot=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),Pt=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 Pt,this._center=new Pt,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 Pt&&!(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 Pt,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 Pt,this._leftStickAxes=new Pt,this._rightStickAxes=new Pt,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 r=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 r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),Et=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}(),Tt=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 Pt,this._hasMoved=!1,this._wheelOffset=new Pt,this.lastPositionInViewport=new Pt,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}),Object.defineProperty(t.prototype,\"wheelOffset\",{get:function(){return this._wheelOffset},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,this.wheelEvent?(this._wheelOffset.set(this.wheelEvent.offsetX,this.wheelEvent.offsetY),this.wheelEvent=void 0):this._wheelOffset.set(0,0)},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)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(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.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},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 Pt((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 Pt(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 r=this.createAsset(t,Rt.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),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,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],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 r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.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,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,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(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},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,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new It(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&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,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new ft,a=r===ct.AABB?new lt(new pt,new dt,s):new ut(s,new vt),h=new ht(a,o,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,r=new A(i,n,new R(i,new S(i))),o=new $(new Q(i)),s=new J(i,r,o,new Map([[a.Sprite,new W(i,r,o)],[a.Text,new X(i,r,o,new O)],[a.Tilemap,new q(i,r,o)],[a.Geometric,new V(i,r)],[a.Mask,new G(i,r)],[a.Video,new K(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Et(new Dt(t),new Tt(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],r=0,o=this.physicsManager.getCollisionsForCollider(n);r<o.length;r++){var s=o[r];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 r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];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 r(r([],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,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(Jt),r&&(o.transform.position=r.transform.position,o.parent=r),o}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 r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),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\"],re=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),oe=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(re)},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 r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(oe),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(oe)},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,r,o,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!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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:o.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,r,o,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!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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 Ot(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,r,o;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!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o: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:o.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 Ot(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=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Yt(s,o)),e=new Yt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Yt(s,o)),e=new Yt(s,o+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:o.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,r,o,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!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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:o.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,r,o,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!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o: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,r,o;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!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o: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,r,o,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!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o: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,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[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=o;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,r;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!==(r=this.layer)&&void 0!==r?r: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,r,o,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!==(r=t.rotation)&&void 0!==r?r:new Kt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,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,r=t.tileset,o=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=r,this.width=c,this.tileWidth=null!=o?o: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,r=t.tileWidth,o=t.tileHeight,s=t.layer,a=t.orientation,h=t.smooth;if(this.tiledData=e,this.tileset=n,this.tileWidth=null!=r?r:this.tileset.tileWidth*this.spriteDefaultScale.x,this.tileHeight=null!=o?o: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,this.paused=!1)},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\"],Oe=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,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&je.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r: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),Pe=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,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r: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,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.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,r=i.radius;if(this.pressed)return;Yt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.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,Oe as AudioPlayer,le as BallCollider,ce as BoxCollider,Re as Button,Bt as ButtonType,re as Camera,l as Component,fe as EdgeCollider,$t as Game,oe 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,Pe 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,this._hasMoved=!1,this._wheelOffset=new t,this.lastPositionInViewport=new t,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}),Object.defineProperty(e.prototype,\"wheelOffset\",{get:function(){return this._wheelOffset},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,this.wheelEvent?(this._wheelOffset.set(this.wheelEvent.offsetX,this.wheelEvent.offsetY),this.wheelEvent=void 0):this._wheelOffset.set(0,0)},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)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(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.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},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(){}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:0,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){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},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.colliders[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.colliders[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.colliders[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(){}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{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","min","max","random","r","s","push","u","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","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","forEach","getComponents","includes","dispatch","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","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","reduce","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","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","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","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","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","k","V","programManager","vertices","lastVertices","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","H","z","N","Y","X","fontAtlasFactory","textSize","modelPosition","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","updateCollisions","physics","group","onCollision","rt","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","ot","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","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","Ot","updateSize","Pt","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","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Et","mouse","keyboard","touch","Tt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Dt","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelOffset","lastPositionInViewport","setup","wheelEvent","offsetX","offsetY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","focus","preventDefault","stopPropagation","button","clientWidth","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","lastId","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","ee","ie","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","ne","re","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","oe","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","Oe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Pe","_loaded","Rectangle","Re","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Ae","mousePressed","gameCamera","console","log"],"mappings":"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"}
1
+ {"version":3,"file":"index.esm.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 r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},n.apply(this,arguments)};function r(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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 o,s,a,h=function(){function t(t,e,n,r,o,s,a){this.timeManager=t,this.physicsManager=e,this.renderManager=n,this.inputManager=r,this.gameObjectManager=o,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(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},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 r=t.call(this,e)||this;return r.allowMultiple=!0,r._active=!0,r.gameObject=i,r.name=n,r}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\"}(o||(o={})),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,r=t.rotation,o=void 0===r?0:r,s=Math.abs(Math.sin(o)),a=Math.abs(Math.cos(o)),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,r=t.lineSeparation,o=t.letterSpacing,s=t.rotation,a=i.split(\"\\n\").reduce((function(t,e){return Math.max(t,e.length)}),0)*(n+(null!=o?o:0))*2,h=i.split(\"\\n\").length*(n+(null!=r?r: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,r=t.shape,s=t.radius;r===o.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,r=n.width,o=n.tileWidth,s=n.tileHeight;t.culledTiles=i.map((function(t,i){return e.viewport.x1>=e.object.x+i%r*o&&e.viewport.x<=e.object.x+i%r*o+o&&e.viewport.y1>=e.object.y1-((i/r|0)*s+s)&&e.viewport.y<=e.object.y1-(i/r|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 r in e=arguments[i])Object.prototype.hasOwnProperty.call(e,r)&&(t[r]=e[r]);return t},x.apply(this,arguments)};function b(t,e,i){if(i||2===arguments.length)for(var n,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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}(),O=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 r=t[n];r<=t[n+1];r++)this.chars.push(String.fromCharCode(r));var o=this.renderAtlas(e instanceof FontFace?e.family:e);return this.fontAtlas.set(this.symbol(e),o),o},t.prototype.symbol=function(t){return Symbol.for(t instanceof FontFace?t.family:t)},t.prototype.renderAtlas=function(t){var e=new P(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,r=0,o=0;o<this.chars.length;o++)i.fillText(this.chars[o],n,r),e.glyphs.set(this.chars[o],{id:o,width:i.measureText(this.chars[o]).width}),(n+=this.bitmapSize)>e.canvas.width-this.bitmapSize&&(n=0,r+=this.bitmapSize);return e},t}(),P=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),r=this.shaderLoader.load(this.gl.FRAGMENT_SHADER,e);this.gl.attachShader(i,n),this.gl.attachShader(i,r),this.gl.linkProgram(i);var o=this.gl.LINK_STATUS;if(!this.gl.getProgramParameter(i,o)){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\\n\\nin vec4 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 * positionCoords;\\n texCoords = (textureMatrix * vec4(textureCoords, 0, 1)).xy;\\n}\",\"#version 300 es\\nprecision highp 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 r=this.gl.getShaderInfoLog(i);throw this.gl.deleteShader(i),new Error(\"Unable to initialize the shader program: \".concat(r))}return i},t}(),E=\"undefined\"!=typeof Float32Array?Float32Array:Array;function T(){var t=new E(16);return E!=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,r,o,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],r=e[1],o=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]=r,t[2]=o,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]=r*g+h*m+p*y+e[13],t[14]=o*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],r=i[1],o=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]*r,t[5]=e[5]*r,t[6]=e[6]*r,t[7]=e[7]*r,t[8]=e[8]*o,t[9]=e[9]*o,t[10]=e[10]*o,t[11]=e[11]*o,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),r=Math.cos(i),o=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]=o*r+c*n,t[1]=s*r+l*n,t[2]=a*r+u*n,t[3]=h*r+p*n,t[4]=c*r-o*n,t[5]=l*r-s*n,t[6]=u*r-a*n,t[7]=p*r-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 r,o;(function(t,e,i,n,r,o,s){var a=1/(e-i),h=1/(n-r),c=1/(o-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]=(r+n)*h,t[14]=(s+o)*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),n===s.WorldSpace&&(B(t,t,[null!==(r=i.zoom)&&void 0!==r?r:1,null!==(o=i.zoom)&&void 0!==o?o:1,1]),F(t,t,[-i.position.x,-i.position.y,0]))},V=function(){function t(t,e){this.gl=t,this.programManager=e,this.vertices=new Map,this.lastVertices=null,this.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T();var i=2*Math.PI/60;this.circumferenceVertices=new Float32Array(function(t,e,i){void 0===i&&(i=1);for(var n=[],r=1;r<=60;r+=i)n.push(r);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 o.Polygon:this.renderLines(t,e,this.gl.LINE_LOOP,i);break;case o.Line:this.renderLines(t,e,this.gl.LINES,i);break;case o.Circumference:this.renderCircumference(t,e)}},t.prototype.renderLines=function(t,e,i,n){var r,o=this.generateVerticesKey(t.vertexModel);!1===this.vertices.has(o)&&this.vertices.set(o,new Float32Array(this.generatePolygonVertices(t.vertexModel)));var s=this.vertices.get(o);this.lastVertices===o&&n===a.Geometric||(this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.positionBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW),this.gl.bindBuffer(this.gl.ARRAY_BUFFER,this.programManager.textureBuffer),this.gl.bufferData(this.gl.ARRAY_BUFFER,s,this.gl.DYNAMIC_DRAW)),this.lastVertices=o,this.modelMatrix=D(this.modelMatrix),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.y,0]),U(this.modelMatrix,this.modelMatrix,null!==(r=t.rotation)&&void 0!==r?r: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 h=L(t.color),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.solidColorUniform,c,l,u,p),this.gl.uniform1f(this.programManager.alphaUniform,1),this.gl.drawArrays(i,0,s.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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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,r=i.g,o=i.b,s=i.a;this.gl.uniform4f(this.programManager.solidColorUniform,n,r,o,s),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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 o=L(t.color),s=o.r,h=o.g,c=o.b,l=o.a;this.gl.uniform4f(this.programManager.solidColorUniform,s,h,c,l),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r: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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),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,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 a=this.textureManager.getOrCreateTextureFromImage(t.image,t.smooth);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,null!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s: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=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n;if(!t.text)throw new Error(\"Nothing to render\");this.setDefaultValues(t);var r=this.fontAtlasFactory.getOrCreate(t.bitmap.charRanges,t.font,t.bitmap.fontSize);this.generateTextVertices(r,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),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 o=this.textureManager.getOrCreateTextureFromCanvas(\"FontFamily:\"+r.fontFaceFamily,r.canvas,t.smooth);this.lastTexture===o&&i===a.Text||(this.gl.bindTexture(this.gl.TEXTURE_2D,o),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=o),this.gl.uniform1i(this.programManager.useTintColorUniform,0),this.gl.uniform1i(this.programManager.renderTextureUniform,1),this.gl.uniform1f(this.programManager.alphaUniform,t.alpha);var s=L(t.color),h=s.r,c=s.g,l=s.b,u=s.a;this.gl.uniform4f(this.programManager.maskColorUniform,h,c,l,u),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,r,o,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!==(r=t.bitmap.charRanges)&&void 0!==r?r:N):t.bitmap={margin:H,spacing:z,fontSize:64,charRanges:N},t.color=null!==(o=t.color)&&void 0!==o?o:\"#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,r=e.bitmap,o=e.letterSpacing,s=e.lineSeparation;this.posVertices=[],this.texVertices=[];var a=0,h=0,c=0;o/=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+r.margin.x)/t.canvas.width,y=(g+r.margin.y)/t.canvas.width,v=(f+p.width+r.spacing.x)/t.canvas.width,x=(g+t.bitmapFontSize+r.spacing.y)/t.canvas.width;this.texVertices.push(m,x,v,x,m,y,m,y,v,x,v,y),a+=d+o}}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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T()}return t.prototype.render=function(t,e,i){var n,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.renderPosition.x,t.renderPosition.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 h=this.textureManager.getOrCreateTextureFromImage(t.tileset.image,t.smooth);if(this.lastTexture===h&&i===a.Tilemap||(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!==(r=t.alpha)&&void 0!==r?r: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!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s:1)}this.gl.drawArrays(this.gl.TRIANGLES,0,this.posVertices.length/2)},t.prototype.processTileset=function(t){var e,i,n,r,o,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!==(r=h.margin.x)&&void 0!==r?r:0)+(null!==(o=h.spacing.x)&&void 0!==o?o: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 r=Math.floor(i.length/n.width);i.forEach((function(t,i){if(0!==t){var o=i%n.width-n.width/2,s=r/2-Math.floor(i/n.width);e.posVertices.push(o,s-1,o+1,s-1,o,s,o,s,o+1,s-1,o+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.projectionMatrix=T(),this.modelMatrix=T(),this.textureMatrix=T(),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,r,o,s;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),F(this.modelMatrix,this.modelMatrix,[t.position.x,t.position.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 a=this.textureManager.getOrCreateTextureFromVideo(t.video);if(this.lastTexture===a&&i===t.type||(this.gl.bindTexture(this.gl.TEXTURE_2D,a),this.gl.uniform1i(this.programManager.textureUniform,0),this.lastTexture=a),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!==(r=t.alpha)&&void 0!==r?r:1),this.gl.uniform1i(this.programManager.useTintColorUniform,t.tintColor?1:0),t.tintColor){var h=L(t.tintColor),c=h.r,l=h.g,u=h.b,p=h.a;this.gl.uniform4f(this.programManager.tintColorUniform,c,l,u,p)}if(this.gl.uniform1i(this.programManager.useMaskColorUniform,t.maskColor?1:0),t.maskColor){var d=L(t.maskColor);c=d.r,l=d.g,u=d.b,this.gl.uniform4f(this.programManager.maskColorUniform,c,l,u,null!==(o=t.alpha)&&void 0!==o?o:1),this.gl.uniform1f(this.programManager.maskColorMixUniform,null!==(s=t.maskColorMix)&&void 0!==s?s: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(){}return t.prototype.create=function(t){var e=t.shape,i=t.layer,n=t.updateCollisions,r=t.physics,o=t.position,s=t.rotation,a=t.group,h=t.onCollision;return{id:0,active:!0,layer:i,shape:e,updateCollisions:n,physics:r,position:null!=o?o:new Z,rotation:null!=s?s:0,group:a,onCollision:h}},t}(),rt=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}(),ot=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=ot(t.x,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.x1=ot(t.x1,this.area.x,this.cellWidth,this._subdivisions),this.coordinates.y0=ot(t.y,this.area.y,this.cellHeight,this._subdivisions),this.coordinates.y1=ot(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 rt(this.collisionArea)},t.prototype.addCollider=function(t){t.id=this.colliders.length,this.colliders.push(t)},t.prototype.getCollider=function(t){return this.colliders[t]},t.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,e){return t.id=e}))},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.colliders[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.colliders[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.colliders[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 r=n[i];if(r.localCollider.id===t.id&&r.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,r=0,o=e.length;r<o;r++)!n&&r in e||(n||(n=Array.prototype.slice.call(e,0,r)),n[r]=e[r]);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 r=Math.abs(this.projA.min-this.projB.min),o=Math.abs(this.projA.max-this.projB.max);r<o?this.currentOverlap+=r:(this.currentOverlap+=o,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(){}return t.prototype.create=function(t){var e=t.colliderIds,i=t.type,n=t.gravity,r=t.position,o=t.velocity,s=t.onResolve;if(0===e.length)throw new Error(\"RigidBody needs at least one collider\");return{active:!0,colliderIds:e,type:i,gravity:null!=n?n:0,position:null!=r?r:new Z,velocity:null!=o?o: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}(),Ot=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),Pt=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 Pt,this._center=new Pt,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 Pt&&!(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 Pt,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 Pt,this._leftStickAxes=new Pt,this._rightStickAxes=new Pt,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 r=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 r._vibrating=!1})).finally((function(){return r._vibrating=!1})))},t}(),Et=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}(),Tt=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 Pt,this._hasMoved=!1,this._wheelScroll=new Pt,this.lastPositionInViewport=new Pt,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}),Object.defineProperty(t.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},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,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},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)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(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.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},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 Pt((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 Pt(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 r=this.createAsset(t,Rt.Image,n),o=function(){e&&i.renderManager.preloadTexture(n),r.loaded=!0};return n.naturalWidth?o():n.addEventListener(\"load\",o),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,r){var o=new t(this.container,++this.lastId,r,n);return this.gameObjects.push(o),o.dispatch(i.Init,e),o},t.prototype.findGameObjects=function(t){return t?this.gameObjects.filter((function(e){return e instanceof t})):r([],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 r=this.gameObjects.splice(n,1)[0];e&&this.destroyChildren(r),r.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,r){this.timeManager=t,this.physicsManager=e,this.gameObjectManager=n,this.sceneManager=r,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(){var t=this;this.loadedScene=this.sceneManager.getLoadedScene(),this.gameObjects=this.gameObjectManager.findGameObjects().filter((function(t){return t.active})),this.components=[],this.gameObjects.forEach((function(e){return e.getComponents().filter((function(t){return t.active})).forEach((function(e){return t.components.push(e)}))}))},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,r){var o=this;if(void 0===r&&(r=!1),this.scenes.has(e))throw new It(\"There is already a scene with the name '\".concat(e,\"'\"));this.scenes.set(e,(function(){var r=new t(o.container,e,o.container.getConstant(\"Game\"));return o.currentScene=r,r.dispatch(i.Init,n),r})),!r&&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,r=e.collisionMethod,o=e.collisionBroadPhaseMethod,s=new ft,a=r===ct.AABB?new lt(new pt,new dt,s):new ut(s,new vt),h=new ht(a,o,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,r=new A(i,n,new R(i,new S(i))),o=new $(new Q(i)),s=new J(i,r,o,new Map([[a.Sprite,new W(i,r,o)],[a.Text,new X(i,r,o,new O)],[a.Tilemap,new q(i,r,o)],[a.Geometric,new V(i,r)],[a.Mask,new G(i,r)],[a.Video,new K(i,r,o)]]));return new C(s,new v(i))}(i)})),t.add(\"InputManager\",(function(){return function(t){return new Et(new Dt(t),new Tt(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],r=0,o=this.physicsManager.getCollisionsForCollider(n);r<o.length;r++){var s=o[r];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 r=n[i],o=0,s=this.physicsManager.getCollisionsForCollider(r);o<s.length;o++){var a=s[o];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 r(r([],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,r){void 0===n&&(n=\"\"),void 0===r&&(r=null);var o=t.call(this,e)||this;return o.layer=\"Default\",o.ui=!1,o.keep=!1,o._parent=null,o._active=!0,o.components=[],o.activeComponentsCache=[],o.activeChildrenCache=[],o.id=i,o.name=n,o.addComponent(Jt),r&&(o.transform.position=r.transform.position,o.parent=r),o}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 r=\"string\"==typeof e?void 0:e,o=\"string\"==typeof e?e:n,s=new t(this.container,this,o);return this.checkMultipleComponent(s,t),this.components.push(s),s.dispatch(i.Init,r),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\"],re=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),oe=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(re)},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 r=t.call(this,e)||this;return r.name=i,r.game=n,r.game.config.headless||r.addGameObject(oe),r}return e(i,t),Object.defineProperty(i.prototype,\"gameCamera\",{get:function(){return this.findGameObject(oe)},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,r,o,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!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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:o.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,r,o,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!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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 Ot(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,r,o;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!==(r=t.debug)&&void 0!==r?r:this.debug)&&this.gameConfig.debugEnabled,this.layer=t.layer,this.colliders.push(this.physicsManager.addCollider({layer:null!==(o=this.layer)&&void 0!==o?o: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:o.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 Ot(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=[],r=[];this.tilemapRenderer.tiles.forEach((function(t,e){if(0!==t){var o=e%i.tilemapRenderer.width,s=Math.floor(e/i.tilemapRenderer.width);n[s]||(n[s]=[]),n[s+1]||(n[s+1]=[]),r[s]||(r[s]=[]),r[s+1]||(r[s+1]=[]);var a=i.getNeighbors(e);i.hasTile(a[0])||(n[s][o]=!0),i.hasTile(a[2])||(n[s+1][o]=!0),i.hasTile(a[1])||(r[s][o]=!0),i.hasTile(a[3])||(r[s][o+1]=!0)}}));for(var o=0;o<n.length;o++)if(n[o])for(var s=0;s<n[o].length;s++)!t||!e||o===e.y&&n[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),n[o][s]&&(t||(t=new Yt(s,o)),e=new Yt(s+1,o));t&&e&&this.addLineCollider(t,e),t=void 0,e=void 0;for(s=0;s<=this.tilemapRenderer.width;s++)for(o=0;o<r.length;o++)r[o]&&(!t||!e||s===e.x&&r[o][s]||(this.addLineCollider(t,e),t=void 0,e=void 0),r[o][s]&&(t||(t=new Yt(s,o)),e=new Yt(s,o+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:o.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,r,o,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!==(r=t.physics)&&void 0!==r?r:this.physics,this.rotation=null!==(o=t.rotation)&&void 0!==o?o: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:o.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.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,r,o,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!==(r=t.flipVertical)&&void 0!==r&&r,this.opacity=null!==(o=t.opacity)&&void 0!==o?o: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.gameConfig.spriteDefaultScale.clone())&&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(){if(this.sprite&&!0===this.sprite.loaded){this.cacheScale.set(this.scale.x*this.gameObject.transform.scale.x,this.scale.y*this.gameObject.transform.scale.y),this.updateRenderDataArray();for(var t=0,e=0;e<this._tiled.x;e++)for(var i=0;i<this._tiled.y;i++)this.updateRenderData(t,e,i),t++}},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,r,o;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!==(r=this.width)&&void 0!==r?r:this.sprite.width)*Math.abs(this.cacheScale.x),this.renderData[t].height=(null!==(o=this.height)&&void 0!==o?o: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,r,o,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!==(r=t.width)&&void 0!==r?r:100,this.height=null!==(o=t.height)&&void 0!==o?o: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,r=this.text.split(\"\\n\");n<r.length;n++)for(var o=r[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=o;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,r;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!==(r=this.layer)&&void 0!==r?r: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,r,o,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!==(r=t.rotation)&&void 0!==r?r:new Kt,this.flipHorizontal=null!==(o=t.flipHorizontal)&&void 0!==o&&o,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.tiles=[],e.scaledTileWidth=0,e.scaledTileHeight=0,e}return e(i,t),i.prototype.init=function(t){var e,i=this,n=t.tiles,r=t.tileset,o=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=r,this.width=c,this.tileWidth=null!=o?o:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=h?h:this.tileset.tileHeight*this.gameConfig.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.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,r=t.tileWidth,o=t.tileHeight,s=t.layer,a=t.orientation,h=t.smooth;if(this.tiledData=e,this.tileset=n,this.tileWidth=null!=r?r:this.tileset.tileWidth*this.gameConfig.spriteDefaultScale.x,this.tileHeight=null!=o?o:this.tileset.tileHeight*this.gameConfig.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,this.paused=!1)},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\"],Oe=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,r=i.volume;this.audioContext=new AudioContext,\"running\"!==this.audioContext.state&&je.forEach((function(t){return window.addEventListener(t,e.userInputEventHandler)})),this._volume=null!=r?r: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),Pe=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,r=t.touchEnabled,o=t.width,s=t.offset;this.type=e,this.width=null!=o?o:this.width,this.height=null!=i?i:this.height,this.radius=null!=n?n:this.radius,this.touchEnabled=null!=r?r: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,r=i.radius;if(this.pressed)return;this.pressed=this.position.x+this.scaled.width/2>=n.x-r.x&&this.position.x-this.scaled.width/2<=n.x+r.x&&this.position.y+this.scaled.height/2>=n.y-r.y&&this.position.y-this.scaled.height/2<=n.y+r.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,r=i.radius;if(this.pressed)return;Yt.subtract(this.distance,this.position,n),this.pressed=this.distance.magnitude<=this.scaled.radius+Math.max(r.x,r.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,Oe as AudioPlayer,le as BallCollider,ce as BoxCollider,Re as Button,Bt as ButtonType,re as Camera,l as Component,fe as EdgeCollider,$t as Game,oe 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,Pe 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,this._hasMoved=!1,this._wheelScroll=new t,this.lastPositionInViewport=new t,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}),Object.defineProperty(e.prototype,\"wheelScroll\",{get:function(){return this._wheelScroll},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,this.wheelEvent?(this._wheelScroll.set(this.wheelEvent.deltaX,this.wheelEvent.deltaY),this.wheelEvent=void 0):this._wheelScroll.set(0,0)},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)})),this.canvas.addEventListener(\"wheel\",(function(e){return t.handleWheelEvent(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.prototype.handleWheelEvent=function(t){t.preventDefault(),t.stopPropagation(),this.wheelEvent=t},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(){}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:0,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){t.id=this.colliders.length,this.colliders.push(t)},e.prototype.getCollider=function(t){return this.colliders[t]},e.prototype.removeCollider=function(t){this.colliders.splice(t.id,1),this.colliders.forEach((function(t,i){return t.id=i}))},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.colliders[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.colliders[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.colliders[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(){}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{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","min","max","random","r","s","push","u","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","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","forEach","getComponents","includes","dispatch","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","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","reduce","setObjectForGeometric","vertexModel","shape","radius","Number","MAX_SAFE_INTEGER","MIN_SAFE_INTEGER","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","addCameraData","sort","depth","renderByCamera","layers","layer","indexOf","realWidth","realHeight","orientation","clearCanvas","preloadTexture","createTexture","LegacyWebGL","WebGL2","j","contextVersion","getContextVersion","Error","getContext","O","fontAtlas","Map","hasFontAtlas","has","symbol","getFontAtlas","getOrCreate","bitmapSize","chars","fromCharCode","renderAtlas","FontFace","family","Symbol","for","P","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","E","Float32Array","T","D","F","B","U","hypot","I","L","exec","parseInt","k","V","programManager","vertices","lastVertices","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","H","z","N","Y","X","fontAtlasFactory","textSize","modelPosition","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","updateCollisions","physics","group","onCollision","rt","area","items","children","resize","insert","insertItemIntoChildren","getChildrenForArea","retrieve","center","ot","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","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","Ot","updateSize","Pt","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","find","vibrate","vibrationActuator","playEffect","duration","weakMagnitude","strongMagnitude","startDelay","catch","finally","Et","mouse","keyboard","touch","Tt","pressedKeys","keyMap","code","isPressed","orPressed","andPressed","isPressedReturn","orPressedReturn","andPressedReturn","Dt","_leftButtonPressed","_scrollButtonPressed","_rightButtonPressed","_positionInViewport","_hasMoved","_wheelScroll","lastPositionInViewport","setup","wheelEvent","deltaX","deltaY","updatePosition","updateButtonDown","updateButtonUp","handleWheelEvent","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","lastId","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","ee","ie","ui","activeComponentsCache","activeChildrenCache","addComponent","updateComponentsActiveStatus","updateChildrenActiveStatus","getChildren","checkMultipleComponent","addChild","getChild","destroyComponents","ne","re","viewportRect","worldSpaceRect","_zoom","addLayer","updateViewportRect","updateWorldSpaceRect","updateCameraData","oe","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","Oe","tracks","audioSourceCache","audioEventHandler","_audioSource","audioContext","AudioContext","state","playClip","addAudioSource","cloneNode","createMediaElementSource","connect","destination","loadAudioSource","close","Pe","_loaded","Rectangle","Re","touchEnabled","pressedLastFrame","scaled","leftButtonPressed","resolveMouseAndRectangle","resolveMouseAndCircumference","touching","resolveTouchAndRectangle","resolveTouchAndCircumference","onClick","onPressed","interactions","Ae","mousePressed","gameCamera","console","log"],"mappings":"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"}