From ee7fb96c2d2825b5acf34cefadfc6f55b10655b9 Mon Sep 17 00:00:00 2001 From: samme Date: Fri, 6 Mar 2020 12:01:03 -0800 Subject: [PATCH 1/2] Bump version --- CHANGELOG.md | 2 +- README.md | 16 ++++++++-------- package.json | 4 ++-- src/Phaser.js | 2 +- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 53e60e63f..d57cfc479 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,6 +1,6 @@ # Change Log -## Unreleased +## Version 2.15.0 - 6 Mar 2020 ### API Changes diff --git a/README.md b/README.md index e19a06f96..20742326c 100644 --- a/README.md +++ b/README.md @@ -6,7 +6,7 @@ Phaser CE is a fast, free, and fun open source HTML5 game framework. It uses a c Phaser v2 was built and maintained by [Photon Storm](http://www.photonstorm.com) and turned over to the community (as Phaser CE) in November 2016. [Phaser v3](http://phaser.io/phaser3) is in active development. -The [current Phaser CE release is 2.14.0](https://github.com/photonstorm/phaser-ce/releases/tag/v2.14.0). +The [current Phaser CE release is 2.15.0](https://github.com/photonstorm/phaser-ce/releases/tag/v2.15.0). - **Visit:** The [Phaser website](http://phaser.io) and follow on [Twitter](https://twitter.com/photonstorm) (#[phaserjs](https://twitter.com/hashtag/phaserjs)) - **Learn:** [API Docs](https://photonstorm.github.io/phaser-ce/), [Support Forum][forum] and [StackOverflow](https://stackoverflow.com/questions/tagged/phaser-framework) @@ -88,16 +88,16 @@ Please see additional steps for [Browserify/CommonJS](#browserify) and [Webpack] [Phaser CE is on jsDelivr](http://www.jsdelivr.com/projects/phaser-ce), a "super-fast CDN for developers". Include the following in your html: ```html - + ``` or the minified version: ```html - + ``` -[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.14.0/build/custom/) are available too. +[Custom builds](https://cdn.jsdelivr.net/npm/phaser-ce@2.15.0/build/custom/) are available too. @@ -312,10 +312,10 @@ All rights reserved. [![Analytics](https://ga-beacon.appspot.com/UA-44006568-2/phaser/index)](https://github.com/igrigorik/ga-beacon) -[get-js]: https://github.com/photonstorm/phaser-ce/releases/download/v2.14.0/phaser.js -[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.14.0/phaser.min.js -[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.14.0.zip -[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.14.0.tar.gz +[get-js]: https://github.com/photonstorm/phaser-ce/releases/download/v2.15.0/phaser.js +[get-minjs]: https://github.com/photonstorm/phaser-ce/releases/download/v2.15.0/phaser.min.js +[get-zip]: https://github.com/photonstorm/phaser-ce/archive/v2.15.0.zip +[get-tgz]: https://github.com/photonstorm/phaser-ce/archive/v2.15.0.tar.gz [clone-http]: https://github.com/photonstorm/phaser.git [clone-ssh]: ssh://git@github.com:photonstorm/phaser.git [clone-svn]: https://github.com/photonstorm/phaser diff --git a/package.json b/package.json index df21394f8..ba8b8b54f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "phaser-ce", - "version": "2.14.0", - "release": "2020-01-19", + "version": "2.15.0", + "release": "2020-03-06", "description": "Phaser CE (Community Edition) is a fast, free and fun HTML5 Game Framework for Desktop and Mobile web browsers.", "author": "Richard Davey (http://www.photonstorm.com)", "contributors": [ diff --git a/src/Phaser.js b/src/Phaser.js index 8551f404c..4a71c4339 100644 --- a/src/Phaser.js +++ b/src/Phaser.js @@ -14,7 +14,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.1-dev', + VERSION: '2.15.0', /** * An array of Phaser game instances. From e030f6176b2465a44d48bc0232e9eac4df6df14a Mon Sep 17 00:00:00 2001 From: samme Date: Fri, 6 Mar 2020 12:26:50 -0800 Subject: [PATCH 2/2] Build Phaser CE v2.15.0 --- build/custom/creature.min.js | 2 +- build/custom/p2.min.js | 2 +- build/custom/phaser-arcade-physics.js | 51 +- build/custom/phaser-arcade-physics.map | 2 +- build/custom/phaser-arcade-physics.min.js | 4 +- build/custom/phaser-creature.js | 31 +- build/custom/phaser-creature.map | 2 +- build/custom/phaser-creature.min.js | 4 +- build/custom/phaser-minimum.js | 51 +- build/custom/phaser-minimum.map | 2 +- build/custom/phaser-minimum.min.js | 4 +- build/custom/phaser-no-physics.js | 51 +- build/custom/phaser-no-physics.map | 2 +- build/custom/phaser-no-physics.min.js | 4 +- build/custom/phaser-split.js | 31 +- build/custom/phaser-split.map | 2 +- build/custom/phaser-split.min.js | 4 +- build/custom/pixi.js | 22 +- build/custom/pixi.map | 2 +- build/custom/pixi.min.js | 4 +- build/phaser.js | 51 +- build/phaser.map | 2 +- build/phaser.min.js | 4 +- docs/CreatureShader.html | 22 +- docs/EarCut.html | 14 +- docs/Event.html | 22 +- docs/EventTarget.html | 16 +- docs/PIXI.BaseTexture.html | 44 +- docs/PIXI.CanvasBuffer.html | 26 +- docs/PIXI.CanvasGraphics.html | 16 +- docs/PIXI.CanvasMaskManager.html | 18 +- docs/PIXI.CanvasRenderer.html | 48 +- docs/PIXI.CanvasTinter.html | 20 +- docs/PIXI.ComplexPrimitiveShader.html | 26 +- docs/PIXI.DisplayObject.html | 70 +-- docs/PIXI.DisplayObjectContainer.html | 102 ++-- docs/PIXI.FilterTexture.html | 26 +- docs/PIXI.Phaser.GraphicsData.html | 14 +- docs/PIXI.PixiFastShader.html | 28 +- docs/PIXI.PixiShader.html | 36 +- docs/PIXI.PrimitiveShader.html | 26 +- docs/PIXI.Sprite.html | 120 ++--- docs/PIXI.StripShader.html | 28 +- docs/PIXI.Texture.html | 44 +- docs/PIXI.WebGLBlendModeManager.html | 22 +- docs/PIXI.WebGLFastSpriteBatch.html | 60 +-- docs/PIXI.WebGLFilterManager.html | 34 +- docs/PIXI.WebGLRenderer.html | 74 +-- docs/PIXI.html | 24 +- docs/Phaser.Animation.html | 92 ++-- docs/Phaser.AnimationManager.html | 58 +-- docs/Phaser.AnimationParser.html | 24 +- docs/Phaser.ArraySet.html | 42 +- docs/Phaser.ArrayUtils.html | 42 +- docs/Phaser.AudioSprite.html | 32 +- docs/Phaser.BitmapData.html | 210 ++++---- docs/Phaser.BitmapText.html | 248 +++++----- docs/Phaser.Bullet.html | 312 ++++++------ docs/Phaser.Button.html | 334 ++++++------- docs/Phaser.Cache.html | 242 ++++----- docs/Phaser.Camera.html | 114 ++--- docs/Phaser.Canvas.html | 38 +- docs/Phaser.CanvasPool.html | 30 +- docs/Phaser.Circle.html | 78 +-- docs/Phaser.Color.html | 158 +++--- docs/Phaser.Component.Angle.html | 20 +- docs/Phaser.Component.Animation.html | 16 +- docs/Phaser.Component.AutoCull.html | 18 +- docs/Phaser.Component.Bounds.html | 34 +- docs/Phaser.Component.BringToTop.html | 24 +- docs/Phaser.Component.Core.html | 133 ++--- docs/Phaser.Component.Crop.html | 28 +- docs/Phaser.Component.Delta.html | 20 +- docs/Phaser.Component.Destroy.html | 20 +- docs/Phaser.Component.FixedToCamera.html | 28 +- docs/Phaser.Component.Health.html | 26 +- docs/Phaser.Component.InCamera.html | 16 +- docs/Phaser.Component.InWorld.html | 26 +- docs/Phaser.Component.InputEnabled.html | 18 +- docs/Phaser.Component.LifeSpan.html | 24 +- docs/Phaser.Component.LoadTexture.html | 36 +- docs/Phaser.Component.Overlap.html | 18 +- docs/Phaser.Component.PhysicsBody.html | 28 +- docs/Phaser.Component.Reset.html | 18 +- docs/Phaser.Component.ScaleMinMax.html | 24 +- docs/Phaser.Component.Smoothed.html | 16 +- docs/Phaser.Create.html | 48 +- docs/Phaser.Creature.html | 244 +++++----- docs/Phaser.DOM.html | 42 +- docs/Phaser.Device.html | 192 ++++---- docs/Phaser.DeviceButton.html | 64 +-- docs/Phaser.Easing.Back.html | 20 +- docs/Phaser.Easing.Bounce.html | 20 +- docs/Phaser.Easing.Circular.html | 20 +- docs/Phaser.Easing.Cubic.html | 20 +- docs/Phaser.Easing.Elastic.html | 20 +- docs/Phaser.Easing.Exponential.html | 20 +- docs/Phaser.Easing.Linear.html | 16 +- docs/Phaser.Easing.Quadratic.html | 20 +- docs/Phaser.Easing.Quartic.html | 20 +- docs/Phaser.Easing.Quintic.html | 20 +- docs/Phaser.Easing.Sinusoidal.html | 20 +- docs/Phaser.Easing.html | 14 +- docs/Phaser.Ellipse.html | 60 +-- docs/Phaser.Events.html | 52 +- docs/Phaser.Filter.html | 48 +- docs/Phaser.FlexGrid.html | 46 +- docs/Phaser.FlexLayer.html | 372 +++++++------- docs/Phaser.Frame.html | 60 +-- docs/Phaser.FrameData.html | 34 +- docs/Phaser.Game.html | 173 +++---- docs/Phaser.GameObjectCreator.html | 64 +-- docs/Phaser.GameObjectFactory.html | 70 +-- docs/Phaser.Gamepad.html | 78 +-- docs/Phaser.Graphics.html | 282 +++++------ docs/Phaser.Group.html | 362 +++++++------- docs/Phaser.Hermite.html | 52 +- docs/Phaser.Image.html | 278 +++++------ docs/Phaser.ImageCollection.html | 36 +- docs/Phaser.Input.html | 174 +++---- docs/Phaser.InputHandler.html | 156 +++--- docs/Phaser.Key.html | 70 +-- docs/Phaser.KeyCode.html | 218 ++++----- docs/Phaser.Keyboard.html | 80 +-- docs/Phaser.Line.html | 92 ++-- docs/Phaser.LinkedList.html | 32 +- docs/Phaser.Loader.html | 217 +++++---- docs/Phaser.LoaderParser.html | 28 +- docs/Phaser.MSPointer.html | 67 +-- docs/Phaser.Math.html | 160 +++--- docs/Phaser.Matrix.html | 54 +-- docs/Phaser.Mouse.html | 68 +-- docs/Phaser.MouseWheel.html | 38 +- docs/Phaser.Net.html | 24 +- docs/Phaser.Particle.html | 324 ++++++------- docs/Phaser.Particles.Arcade.Emitter.html | 458 +++++++++--------- docs/Phaser.Particles.Arcade.html | 14 +- docs/Phaser.Particles.html | 28 +- docs/Phaser.Path.html | 62 +-- docs/Phaser.PathFollower.html | 14 +- docs/Phaser.PathPoint.html | 60 +-- docs/Phaser.Physics.Arcade.Body.html | 209 ++++---- ...haser.Physics.Arcade.TilemapCollision.html | 16 +- docs/Phaser.Physics.Arcade.html | 135 +++--- docs/Phaser.Physics.Ninja.AABB.html | 74 +-- docs/Phaser.Physics.Ninja.Body.html | 90 ++-- docs/Phaser.Physics.Ninja.Circle.html | 68 +-- docs/Phaser.Physics.Ninja.Tile.html | 56 +-- docs/Phaser.Physics.Ninja.html | 52 +- docs/Phaser.Physics.P2.Body.html | 218 +++++---- docs/Phaser.Physics.P2.BodyDebug.html | 358 +++++++------- docs/Phaser.Physics.P2.CollisionGroup.html | 16 +- docs/Phaser.Physics.P2.ContactMaterial.html | 14 +- .../Phaser.Physics.P2.DistanceConstraint.html | 18 +- docs/Phaser.Physics.P2.FixtureList.html | 34 +- docs/Phaser.Physics.P2.GearConstraint.html | 18 +- docs/Phaser.Physics.P2.InversePointProxy.html | 22 +- docs/Phaser.Physics.P2.LockConstraint.html | 18 +- docs/Phaser.Physics.P2.Material.html | 16 +- docs/Phaser.Physics.P2.PointProxy.html | 22 +- ...Phaser.Physics.P2.PrismaticConstraint.html | 18 +- .../Phaser.Physics.P2.RevoluteConstraint.html | 18 +- docs/Phaser.Physics.P2.RotationalSpring.html | 20 +- docs/Phaser.Physics.P2.Spring.html | 20 +- docs/Phaser.Physics.P2.html | 198 ++++---- docs/Phaser.Physics.html | 64 +-- docs/Phaser.Plugin.PathManager.html | 16 +- docs/Phaser.Plugin.html | 74 ++- docs/Phaser.PluginManager.html | 36 +- docs/Phaser.Point.html | 142 +++--- docs/Phaser.Pointer.html | 152 +++--- docs/Phaser.PointerLock.html | 36 +- docs/Phaser.PointerMode.html | 18 +- docs/Phaser.Polygon.html | 34 +- docs/Phaser.QuadTree.html | 42 +- docs/Phaser.RandomDataGenerator.html | 44 +- docs/Phaser.Rectangle.html | 148 +++--- docs/Phaser.RenderTexture.html | 70 +-- docs/Phaser.RequestAnimationFrame.html | 32 +- docs/Phaser.RetroFont.html | 148 +++--- docs/Phaser.Rope.html | 294 +++++------ docs/Phaser.RoundedRectangle.html | 32 +- docs/Phaser.ScaleManager.html | 218 +++++---- docs/Phaser.Signal.html | 40 +- docs/Phaser.SignalBinding.html | 36 +- docs/Phaser.SinglePad.html | 70 +-- docs/Phaser.Sound.html | 130 ++--- docs/Phaser.SoundManager.html | 82 ++-- docs/Phaser.Sprite.html | 312 ++++++------ docs/Phaser.SpriteBatch.html | 348 ++++++------- docs/Phaser.Stage.html | 128 ++--- docs/Phaser.State.html | 83 ++-- docs/Phaser.StateManager.html | 90 ++-- docs/Phaser.Text.html | 421 ++++++++-------- docs/Phaser.Tile.html | 94 ++-- docs/Phaser.TileSprite.html | 306 ++++++------ docs/Phaser.Tilemap.html | 166 +++---- docs/Phaser.TilemapLayer.html | 368 +++++++------- docs/Phaser.TilemapParser.html | 26 +- docs/Phaser.Tileset.html | 44 +- docs/Phaser.Time.html | 97 ++-- docs/Phaser.Timer.html | 80 +-- docs/Phaser.TimerEvent.html | 32 +- docs/Phaser.Touch.html | 56 +-- docs/Phaser.Tween.html | 102 ++-- docs/Phaser.TweenData.html | 72 +-- docs/Phaser.TweenManager.html | 40 +- docs/Phaser.Utils.Debug.html | 134 ++--- docs/Phaser.Utils.html | 44 +- docs/Phaser.Video.html | 116 ++--- docs/Phaser.Weapon.html | 180 +++---- docs/Phaser.World.html | 376 +++++++------- docs/Phaser.html | 156 +++--- docs/PhaserGlobal.html | 17 +- docs/classes.list.html | 12 +- docs/global.html | 36 +- docs/index.html | 99 ++-- docs/namespaces.list.html | 12 +- 218 files changed, 8499 insertions(+), 8518 deletions(-) diff --git a/build/custom/creature.min.js b/build/custom/creature.min.js index 098307ec7..287b65611 100644 --- a/build/custom/creature.min.js +++ b/build/custom/creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 Creature Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ function dualQuat(){this.real=quat.create(),this.real[Q_W]=0,this.imaginary=quat.create(),this.imaginary[Q_W]=0,this.tmpQ1=quat.create()}function MeshBone(t,e,a,r){this.key=t,this.world_rest_angle=0,this.rest_parent_mat=mat4.create(),this.rest_parent_inv_mat=mat4.create(),this.rest_world_mat=mat4.create(),this.rest_world_inv_mat=mat4.create(),this.bind_world_mat=mat4.create(),this.bind_world_inv_mat=mat4.create(),this.parent_world_mat=mat4.create(),this.parent_world_inv_mat=mat4.create(),this.local_rest_start_pt=null,this.local_rest_end_pt=null,this.setRestParentMat(r,null),this.setLocalRestStartPt(e),this.setLocalRestEndPt(a),this.setParentWorldInvMat(mat4.create()),this.setParentWorldMat(mat4.create()),this.local_binormal_dir=vec3.fromValues(0,0,1),this.tag_id=0,this.children=[]}function MeshRenderRegion(t,e,a,r,n,i,s){this.store_indices=t,this.store_rest_pts=e,this.store_uvs=a,this.use_local_displacements=!1,this.use_post_displacements=!1,this.use_uv_warp=!1,this.uv_warp_local_offset=vec2.fromValues(0,0),this.uv_warp_global_offset=vec2.fromValues(0,0),this.uv_warp_scale=vec2.fromValues(1,1),this.opacity=100,this.start_pt_index=r,this.end_pt_index=n,this.start_index=i,this.end_index=s,this.main_bone=null,this.local_displacements=[],this.post_displacements=[],this.uv_warp_ref_uvs=[],this.normal_weight_map={},this.fast_normal_weight_map=[],this.fast_bones_map=[],this.relevant_bones_indices=[],this.use_dq=!0,this.tag_id=-1,this.initUvWarp()}function MeshRenderBoneComposition(){this.root_bone=null,this.bones_map={},this.regions=[],this.regions_map={}}function MeshBoneCache(t){this.key=t}function MeshDisplacementCache(t){this.key=t,this.local_displacements=[],this.post_displacements=[]}function MeshUVWarpCache(t){this.uv_warp_global_offset=vec2.create(),this.uv_warp_local_offset=vec2.create(),this.uv_warp_scale=vec2.fromValues(-1,-1),this.key=t,this.enabled=!1}function MeshOpacityCache(t){this.opacity=100,this.key=t}function MeshBoneCacheManager(){this.is_ready=!1,this.bone_cache_table=null,this.bone_cache_data_ready=null,this.bone_cache_table=[],this.bone_cache_data_ready=[]}function MeshDisplacementCacheManager(){this.is_ready=!1,this.displacement_cache_table=null,this.displacement_cache_data_ready=null,this.displacement_cache_table=[],this.displacement_cache_data_ready=[]}function MeshUVWarpCacheManager(){this.is_ready=!1,this.uv_cache_table=null,this.uv_cache_data_ready=null,this.uv_cache_table=[],this.uv_cache_data_ready=[]}function MeshOpacityCacheManager(){this.is_ready=!1,this.opacity_cache_table=null,this.opacity_cache_data_ready=null,this.opacity_cache_table=[],this.opacity_cache_data_ready=[]}function CreatureUVSwapPacket(t,e,a,r){this.local_offset=t,this.global_offset=e,this.scale=a,this.tag=r}function Creature(t,e){this.InitDefaultData(),e?this.LoadFromDataFlat(t):this.LoadFromData(t)}function CreatureAnimation(t,e,a){this.initDefaultData(e),a?this.LoadFromDataFlat(e,t.dataAnimation()):this.LoadFromData(e,t)}function CreatureFrameCallback(){this.callback=null,this.name="",this.animClipName="",this.frame=0,this.triggered=!1}function CreatureGameController(t){this.meta_asset=t,this.event_callbacks=[],this.run_time=0}function CreatureMetaData(){this.skin_swaps={},this.anim_events_map={}}function CreatureManager(t){this.target_creature=t,this.is_playing=!1,this.run_time=0,this.time_scale=30,this.blending_factor=0,this.should_loop=!0,this.use_custom_time_range=!1,this.custom_start_time=0,this.custom_end_time=0,this.animations={},this.bones_override_callback=null,this.blend_render_pts=[],this.blend_render_pts.push([]),this.blend_render_pts.push([]),this.do_blending=!1,this.active_blend_animation_names=[],this.active_blend_animation_names.push(""),this.active_blend_animation_names.push(""),this.do_auto_blending=!1,this.auto_blend_delta=0,this.auto_blend_names=[],this.auto_blend_names.push(""),this.auto_blend_names.push(""),this.active_blend_run_times={}}function isDictEmpty(t){for(var e in t)return!1;return!0}!function(t,e){if("object"==typeof exports&&"object"==typeof module)module.exports=e();else if("function"==typeof define&&define.amd)define([],e);else{var a=e();for(var r in a)("object"==typeof exports?exports:t)[r]=a[r]}}(this,function(){return function(t){function e(r){if(a[r])return a[r].exports;var n=a[r]={exports:{},id:r,loaded:!1};return t[r].call(n.exports,n,n.exports,e),n.loaded=!0,n.exports}var a={};return e.m=t,e.c=a,e.p="",e(0)}([function(t,e,a){e.glMatrix=a(1),e.mat2=a(2),e.mat2d=a(3),e.mat3=a(4),e.mat4=a(5),e.quat=a(6),e.vec2=a(9),e.vec3=a(7),e.vec4=a(8)},function(t,e){var a={};a.EPSILON=1e-6,a.ARRAY_TYPE="undefined"!=typeof Float32Array?Float32Array:Array,a.RANDOM=Math.random,a.ENABLE_SIMD=!1,a.SIMD_AVAILABLE=a.ARRAY_TYPE===this.Float32Array&&"SIMD"in this,a.USE_SIMD=a.ENABLE_SIMD&&a.SIMD_AVAILABLE,a.setMatrixArrayType=function(t){a.ARRAY_TYPE=t};var r=Math.PI/180;a.toRadian=function(t){return t*r},a.equals=function(t,e){return Math.abs(t-e)<=a.EPSILON*Math.max(1,Math.abs(t),Math.abs(e))},t.exports=a},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.transpose=function(t,e){if(t===e){var a=e[1];t[1]=e[2],t[2]=a}else t[0]=e[0],t[1]=e[2],t[2]=e[1],t[3]=e[3];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*i-n*r;return s?(s=1/s,t[0]=i*s,t[1]=-r*s,t[2]=-n*s,t[3]=a*s,t):null},n.adjoint=function(t,e){var a=e[0];return t[0]=e[3],t[1]=-e[1],t[2]=-e[2],t[3]=a,t},n.determinant=function(t){return t[0]*t[3]-t[2]*t[1]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*o+i*l,t[1]=n*o+s*l,t[2]=r*u+i*c,t[3]=n*u+s*c,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+i*o,t[1]=n*l+s*o,t[2]=r*-o+i*l,t[3]=n*-o+s*l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1];return t[0]=r*o,t[1]=n*o,t[2]=i*l,t[3]=s*l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t},n.str=function(t){return"mat2("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2))},n.LDU=function(t,e,a,r){return t[2]=r[2]/r[0],a[0]=r[0],a[1]=r[1],a[3]=r[3]-t[2]*a[1],[t,e,a]},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=e[0],l=e[1],u=e[2],c=e[3];return Math.abs(a-o)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(o))&&Math.abs(n-l)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(l))&&Math.abs(i-u)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(u))&&Math.abs(s-c)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(c))},n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(6);return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(6);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=0,t[5]=0,t},n.fromValues=function(t,e,a,n,i,s){var o=new r.ARRAY_TYPE(6);return o[0]=t,o[1]=e,o[2]=a,o[3]=n,o[4]=i,o[5]=s,o},n.set=function(t,e,a,r,n,i,s){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=a*i-r*n;return l?(l=1/l,t[0]=i*l,t[1]=-r*l,t[2]=-n*l,t[3]=a*l,t[4]=(n*o-i*s)*l,t[5]=(r*s-a*o)*l,t):null},n.determinant=function(t){return t[0]*t[3]-t[1]*t[2]},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1],h=a[2],_=a[3],d=a[4],p=a[5];return t[0]=r*u+i*c,t[1]=n*u+s*c,t[2]=r*h+i*_,t[3]=n*h+s*_,t[4]=r*d+i*p+o,t[5]=n*d+s*p+l,t},n.mul=n.multiply,n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=Math.sin(a),c=Math.cos(a);return t[0]=r*c+i*u,t[1]=n*c+s*u,t[2]=r*-u+i*c,t[3]=n*-u+s*c,t[4]=o,t[5]=l,t},n.scale=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r*u,t[1]=n*u,t[2]=i*c,t[3]=s*c,t[4]=o,t[5]=l,t},n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=a[0],c=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=r*u+i*c+o,t[5]=n*u+s*c+l,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=-a,t[3]=r,t[4]=0,t[5]=0,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=e[1],t[4]=0,t[5]=0,t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=1,t[4]=e[0],t[5]=e[1],t},n.str=function(t){return"mat2d("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+1)},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=e[0],c=e[1],h=e[2],_=e[3],d=e[4],p=e[5];return Math.abs(a-u)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(u))&&Math.abs(n-c)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(c))&&Math.abs(i-h)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(h))&&Math.abs(s-_)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(_))&&Math.abs(o-d)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(d))&&Math.abs(l-p)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(p))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(9);return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat4=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[4],t[4]=e[5],t[5]=e[6],t[6]=e[8],t[7]=e[9],t[8]=e[10],t},n.clone=function(t){var e=new r.ARRAY_TYPE(9);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromValues=function(t,e,a,n,i,s,o,l,u){var c=new r.ARRAY_TYPE(9);return c[0]=t,c[1]=e,c[2]=a,c[3]=n,c[4]=i,c[5]=s,c[6]=o,c[7]=l,c[8]=u,c},n.set=function(t,e,a,r,n,i,s,o,l,u){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t},n.identity=function(t){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[5];t[1]=e[3],t[2]=e[6],t[3]=a,t[5]=e[7],t[6]=r,t[7]=n}else t[0]=e[0],t[1]=e[3],t[2]=e[6],t[3]=e[1],t[4]=e[4],t[5]=e[7],t[6]=e[2],t[7]=e[5],t[8]=e[8];return t},n.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=c*s-o*u,_=-c*i+o*l,d=u*i-s*l,p=a*h+r*_+n*d;return p?(p=1/p,t[0]=h*p,t[1]=(-c*r+n*u)*p,t[2]=(o*r-n*s)*p,t[3]=_*p,t[4]=(c*a-n*l)*p,t[5]=(-o*a+n*i)*p,t[6]=d*p,t[7]=(-u*a+r*l)*p,t[8]=(s*a-r*i)*p,t):null},n.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8];return t[0]=s*c-o*u,t[1]=n*u-r*c,t[2]=r*o-n*s,t[3]=o*l-i*c,t[4]=a*c-n*l,t[5]=n*i-a*o,t[6]=i*u-s*l,t[7]=r*l-a*u,t[8]=a*s-r*i,t},n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8];return e*(u*i-s*l)+a*(-u*n+s*o)+r*(l*n-i*o)},n.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1],p=a[2],m=a[3],M=a[4],f=a[5],v=a[6],g=a[7],y=a[8];return t[0]=_*r+d*s+p*u,t[1]=_*n+d*o+p*c,t[2]=_*i+d*l+p*h,t[3]=m*r+M*s+f*u,t[4]=m*n+M*o+f*c,t[5]=m*i+M*l+f*h,t[6]=v*r+g*s+y*u,t[7]=v*n+g*o+y*c,t[8]=v*i+g*l+y*h,t},n.mul=n.multiply,n.translate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=a[0],d=a[1];return t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=_*r+d*s+u,t[7]=_*n+d*o+c,t[8]=_*i+d*l+h,t},n.rotate=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=Math.sin(a),d=Math.cos(a);return t[0]=d*r+_*s,t[1]=d*n+_*o,t[2]=d*i+_*l,t[3]=d*s-_*r,t[4]=d*o-_*n,t[5]=d*l-_*i,t[6]=u,t[7]=c,t[8]=h,t},n.scale=function(t,e,a){var r=a[0],n=a[1];return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=n*e[3],t[4]=n*e[4],t[5]=n*e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t},n.fromTranslation=function(t,e){return t[0]=1,t[1]=0,t[2]=0,t[3]=0,t[4]=1,t[5]=0,t[6]=e[0],t[7]=e[1],t[8]=1,t},n.fromRotation=function(t,e){var a=Math.sin(e),r=Math.cos(e);return t[0]=r,t[1]=a,t[2]=0,t[3]=-a,t[4]=r,t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromScaling=function(t,e){return t[0]=e[0],t[1]=0,t[2]=0,t[3]=0,t[4]=e[1],t[5]=0,t[6]=0,t[7]=0,t[8]=1,t},n.fromMat2d=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=0,t[3]=e[2],t[4]=e[3],t[5]=0,t[6]=e[4],t[7]=e[5],t[8]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[3]=c-f,t[6]=_+M,t[1]=c+f,t[4]=1-u-p,t[7]=d-m,t[2]=_-M,t[5]=d+m,t[8]=1-u-h,t},n.normalFromMat4=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(l*F-s*w-u*b)*U,t[2]=(s*R-o*F+u*x)*U,t[3]=(n*R-r*w-i*C)*U,t[4]=(a*w-n*F+i*b)*U,t[5]=(r*F-a*R-i*x)*U,t[6]=(m*D-M*I+f*S)*U,t[7]=(M*y-p*D-f*g)*U,t[8]=(p*I-m*y+f*v)*U,t):null},n.str=function(t){return"mat3("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+", "+t[4]+", "+t[5]+", "+t[6]+", "+t[7]+", "+t[8]+")"},n.frob=function(t){return Math.sqrt(Math.pow(t[0],2)+Math.pow(t[1],2)+Math.pow(t[2],2)+Math.pow(t[3],2)+Math.pow(t[4],2)+Math.pow(t[5],2)+Math.pow(t[6],2)+Math.pow(t[7],2)+Math.pow(t[8],2))},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t[4]=e[4]+a[4],t[5]=e[5]+a[5],t[6]=e[6]+a[6],t[7]=e[7]+a[7],t[8]=e[8]+a[8],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t[4]=e[4]-a[4],t[5]=e[5]-a[5],t[6]=e[6]-a[6],t[7]=e[7]-a[7],t[8]=e[8]-a[8],t},n.sub=n.subtract,n.multiplyScalar=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t[4]=e[4]*a,t[5]=e[5]*a,t[6]=e[6]*a,t[7]=e[7]*a,t[8]=e[8]*a,t},n.multiplyScalarAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t[4]=e[4]+a[4]*r,t[5]=e[5]+a[5]*r,t[6]=e[6]+a[6]*r,t[7]=e[7]+a[7]*r,t[8]=e[8]+a[8]*r,t},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]&&t[3]===e[3]&&t[4]===e[4]&&t[5]===e[5]&&t[6]===e[6]&&t[7]===e[7]&&t[8]===e[8]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=t[3],o=t[4],l=t[5],u=t[6],c=t[7],h=t[8],_=e[0],d=e[1],p=e[2],m=e[3],M=e[4],f=e[5],v=t[6],g=e[7],y=e[8];return Math.abs(a-_)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(_))&&Math.abs(n-d)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(d))&&Math.abs(i-p)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(p))&&Math.abs(s-m)<=r.EPSILON*Math.max(1,Math.abs(s),Math.abs(m))&&Math.abs(o-M)<=r.EPSILON*Math.max(1,Math.abs(o),Math.abs(M))&&Math.abs(l-f)<=r.EPSILON*Math.max(1,Math.abs(l),Math.abs(f))&&Math.abs(u-v)<=r.EPSILON*Math.max(1,Math.abs(u),Math.abs(v))&&Math.abs(c-g)<=r.EPSILON*Math.max(1,Math.abs(c),Math.abs(g))&&Math.abs(h-y)<=r.EPSILON*Math.max(1,Math.abs(h),Math.abs(y))},t.exports=n},function(t,e,a){var r=a(1),n={scalar:{},SIMD:{}};n.create=function(){var t=new r.ARRAY_TYPE(16);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},n.clone=function(t){var e=new r.ARRAY_TYPE(16);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e[4]=t[4],e[5]=t[5],e[6]=t[6],e[7]=t[7],e[8]=t[8],e[9]=t[9],e[10]=t[10],e[11]=t[11],e[12]=t[12],e[13]=t[13],e[14]=t[14],e[15]=t[15],e},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],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},n.fromValues=function(t,e,a,n,i,s,o,l,u,c,h,_,d,p,m,M){var f=new r.ARRAY_TYPE(16);return f[0]=t,f[1]=e,f[2]=a,f[3]=n,f[4]=i,f[5]=s,f[6]=o,f[7]=l,f[8]=u,f[9]=c,f[10]=h,f[11]=_,f[12]=d,f[13]=p,f[14]=m,f[15]=M,f},n.set=function(t,e,a,r,n,i,s,o,l,u,c,h,_,d,p,m,M){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t[4]=i,t[5]=s,t[6]=o,t[7]=l,t[8]=u,t[9]=c,t[10]=h,t[11]=_,t[12]=d,t[13]=p,t[14]=m,t[15]=M,t},n.identity=function(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},n.scalar.transpose=function(t,e){if(t===e){var a=e[1],r=e[2],n=e[3],i=e[6],s=e[7],o=e[11];t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=a,t[6]=e[9],t[7]=e[13],t[8]=r,t[9]=i,t[11]=e[14],t[12]=n,t[13]=s,t[14]=o}else t[0]=e[0],t[1]=e[4],t[2]=e[8],t[3]=e[12],t[4]=e[1],t[5]=e[5],t[6]=e[9],t[7]=e[13],t[8]=e[2],t[9]=e[6],t[10]=e[10],t[11]=e[14],t[12]=e[3],t[13]=e[7],t[14]=e[11],t[15]=e[15];return t},n.SIMD.transpose=function(t,e){var a,r,n,i,s,o,l,u,c,h;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),s=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),l=SIMD.Float32x4.shuffle(s,o,0,2,4,6),u=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,0,l),SIMD.Float32x4.store(t,4,u),s=SIMD.Float32x4.shuffle(a,r,2,3,6,7),o=SIMD.Float32x4.shuffle(n,i,2,3,6,7),c=SIMD.Float32x4.shuffle(s,o,0,2,4,6),h=SIMD.Float32x4.shuffle(s,o,1,3,5,7),SIMD.Float32x4.store(t,8,c),SIMD.Float32x4.store(t,12,h),t},n.transpose=r.USE_SIMD?n.SIMD.transpose:n.scalar.transpose,n.scalar.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15],v=a*o-r*s,g=a*l-n*s,y=a*u-i*s,S=r*l-n*o,I=r*u-i*o,D=n*u-i*l,x=c*m-h*p,b=c*M-_*p,F=c*f-d*p,C=h*M-_*m,R=h*f-d*m,w=_*f-d*M,U=v*w-g*R+y*C+S*F-I*b+D*x;return U?(U=1/U,t[0]=(o*w-l*R+u*C)*U,t[1]=(n*R-r*w-i*C)*U,t[2]=(m*D-M*I+f*S)*U,t[3]=(_*I-h*D-d*S)*U,t[4]=(l*F-s*w-u*b)*U,t[5]=(a*w-n*F+i*b)*U,t[6]=(M*y-p*D-f*g)*U,t[7]=(c*D-_*y+d*g)*U,t[8]=(s*R-o*F+u*x)*U,t[9]=(r*F-a*R-i*x)*U,t[10]=(p*I-m*y+f*v)*U,t[11]=(h*y-c*I-d*v)*U,t[12]=(o*b-s*C-l*x)*U,t[13]=(a*C-r*b+n*x)*U,t[14]=(m*g-p*S-M*v)*U,t[15]=(c*S-h*g+_*v)*U,t):null},n.SIMD.invert=function(t,e){var a,r,n,i,s,o,l,u,c,h,_=SIMD.Float32x4.load(e,0),d=SIMD.Float32x4.load(e,4),p=SIMD.Float32x4.load(e,8),m=SIMD.Float32x4.load(e,12);return s=SIMD.Float32x4.shuffle(_,d,0,1,4,5),r=SIMD.Float32x4.shuffle(p,m,0,1,4,5),a=SIMD.Float32x4.shuffle(s,r,0,2,4,6),r=SIMD.Float32x4.shuffle(r,s,1,3,5,7),s=SIMD.Float32x4.shuffle(_,d,2,3,6,7),i=SIMD.Float32x4.shuffle(p,m,2,3,6,7),n=SIMD.Float32x4.shuffle(s,i,0,2,4,6),i=SIMD.Float32x4.shuffle(i,s,1,3,5,7),s=SIMD.Float32x4.mul(n,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.mul(r,s),l=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(SIMD.Float32x4.mul(r,s),o),l=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),l),l=SIMD.Float32x4.swizzle(l,2,3,0,1),s=SIMD.Float32x4.mul(r,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),o),c=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),s=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(r,2,3,0,1),i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),n=SIMD.Float32x4.swizzle(n,2,3,0,1),o=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),o),u=SIMD.Float32x4.mul(a,s),s=SIMD.Float32x4.swizzle(s,2,3,0,1),o=SIMD.Float32x4.sub(o,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(a,s),u),u=SIMD.Float32x4.swizzle(u,2,3,0,1),s=SIMD.Float32x4.mul(a,r),s=SIMD.Float32x4.swizzle(s,1,0,3,2),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(SIMD.Float32x4.mul(n,s),c),s=SIMD.Float32x4.swizzle(s,2,3,0,1),u=SIMD.Float32x4.sub(SIMD.Float32x4.mul(i,s),u),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(n,s)),s=SIMD.Float32x4.mul(a,i),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(n,s)),u=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),u),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(n,s),l),u=SIMD.Float32x4.sub(u,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.mul(a,n),s=SIMD.Float32x4.swizzle(s,1,0,3,2),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(i,s),l),c=SIMD.Float32x4.sub(c,SIMD.Float32x4.mul(r,s)),s=SIMD.Float32x4.swizzle(s,2,3,0,1),l=SIMD.Float32x4.sub(l,SIMD.Float32x4.mul(i,s)),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(r,s),c),h=SIMD.Float32x4.mul(a,o),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,2,3,0,1),h),h=SIMD.Float32x4.add(SIMD.Float32x4.swizzle(h,1,0,3,2),h),s=SIMD.Float32x4.reciprocalApproximation(h),h=SIMD.Float32x4.sub(SIMD.Float32x4.add(s,s),SIMD.Float32x4.mul(h,SIMD.Float32x4.mul(s,s))),(h=SIMD.Float32x4.swizzle(h,0,0,0,0))?(SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(h,o)),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(h,l)),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(h,u)),SIMD.Float32x4.store(t,12,SIMD.Float32x4.mul(h,c)),t):null},n.invert=r.USE_SIMD?n.SIMD.invert:n.scalar.invert,n.scalar.adjoint=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=e[4],o=e[5],l=e[6],u=e[7],c=e[8],h=e[9],_=e[10],d=e[11],p=e[12],m=e[13],M=e[14],f=e[15];return t[0]=o*(_*f-d*M)-h*(l*f-u*M)+m*(l*d-u*_),t[1]=-(r*(_*f-d*M)-h*(n*f-i*M)+m*(n*d-i*_)),t[2]=r*(l*f-u*M)-o*(n*f-i*M)+m*(n*u-i*l),t[3]=-(r*(l*d-u*_)-o*(n*d-i*_)+h*(n*u-i*l)),t[4]=-(s*(_*f-d*M)-c*(l*f-u*M)+p*(l*d-u*_)),t[5]=a*(_*f-d*M)-c*(n*f-i*M)+p*(n*d-i*_),t[6]=-(a*(l*f-u*M)-s*(n*f-i*M)+p*(n*u-i*l)),t[7]=a*(l*d-u*_)-s*(n*d-i*_)+c*(n*u-i*l),t[8]=s*(h*f-d*m)-c*(o*f-u*m)+p*(o*d-u*h),t[9]=-(a*(h*f-d*m)-c*(r*f-i*m)+p*(r*d-i*h)),t[10]=a*(o*f-u*m)-s*(r*f-i*m)+p*(r*u-i*o),t[11]=-(a*(o*d-u*h)-s*(r*d-i*h)+c*(r*u-i*o)),t[12]=-(s*(h*M-_*m)-c*(o*M-l*m)+p*(o*_-l*h)),t[13]=a*(h*M-_*m)-c*(r*M-n*m)+p*(r*_-n*h),t[14]=-(a*(o*M-l*m)-s*(r*M-n*m)+p*(r*l-n*o)),t[15]=a*(o*_-l*h)-s*(r*_-n*h)+c*(r*l-n*o),t},n.SIMD.adjoint=function(t,e){var a,r,n,i,s,o,l,u,c,h,_,d,p;return a=SIMD.Float32x4.load(e,0),r=SIMD.Float32x4.load(e,4),n=SIMD.Float32x4.load(e,8),i=SIMD.Float32x4.load(e,12),c=SIMD.Float32x4.shuffle(a,r,0,1,4,5),o=SIMD.Float32x4.shuffle(n,i,0,1,4,5),s=SIMD.Float32x4.shuffle(c,o,0,2,4,6),o=SIMD.Float32x4.shuffle(o,c,1,3,5,7),c=SIMD.Float32x4.shuffle(a,r,2,3,6,7),u=SIMD.Float32x4.shuffle(n,i,2,3,6,7),l=SIMD.Float32x4.shuffle(c,u,0,2,4,6),u=SIMD.Float32x4.shuffle(u,c,1,3,5,7),c=SIMD.Float32x4.mul(l,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.mul(o,c),_=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(SIMD.Float32x4.mul(o,c),h),_=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),_),_=SIMD.Float32x4.swizzle(_,2,3,0,1),c=SIMD.Float32x4.mul(o,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),h),p=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),p),p=SIMD.Float32x4.swizzle(p,2,3,0,1),c=SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,3,0,1),u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),l=SIMD.Float32x4.swizzle(l,2,3,0,1),h=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),h),d=SIMD.Float32x4.mul(s,c),c=SIMD.Float32x4.swizzle(c,2,3,0,1),h=SIMD.Float32x4.sub(h,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(s,c),d),d=SIMD.Float32x4.swizzle(d,2,3,0,1),c=SIMD.Float32x4.mul(s,o),c=SIMD.Float32x4.swizzle(c,1,0,3,2),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(SIMD.Float32x4.mul(l,c),p),c=SIMD.Float32x4.swizzle(c,2,3,0,1),d=SIMD.Float32x4.sub(SIMD.Float32x4.mul(u,c),d),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(l,c)),c=SIMD.Float32x4.mul(s,u),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(l,c)),d=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),d),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(l,c),_),d=SIMD.Float32x4.sub(d,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.mul(s,l),c=SIMD.Float32x4.swizzle(c,1,0,3,2),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(u,c),_),p=SIMD.Float32x4.sub(p,SIMD.Float32x4.mul(o,c)),c=SIMD.Float32x4.swizzle(c,2,3,0,1),_=SIMD.Float32x4.sub(_,SIMD.Float32x4.mul(u,c)),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(o,c),p),SIMD.Float32x4.store(t,0,h),SIMD.Float32x4.store(t,4,_),SIMD.Float32x4.store(t,8,d),SIMD.Float32x4.store(t,12,p),t},n.adjoint=r.USE_SIMD?n.SIMD.adjoint:n.scalar.adjoint,n.determinant=function(t){var e=t[0],a=t[1],r=t[2],n=t[3],i=t[4],s=t[5],o=t[6],l=t[7],u=t[8],c=t[9],h=t[10],_=t[11],d=t[12],p=t[13],m=t[14],M=t[15];return(e*s-a*i)*(h*M-_*m)-(e*o-r*i)*(c*M-_*p)+(e*l-n*i)*(c*m-h*p)+(a*o-r*s)*(u*M-_*d)-(a*l-n*s)*(u*m-h*d)+(r*l-n*o)*(u*p-c*d)},n.SIMD.multiply=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4.load(a,0),l=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(o,3,3,3,3),s))));SIMD.Float32x4.store(t,0,l);var u=SIMD.Float32x4.load(a,4),c=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(u,3,3,3,3),s))));SIMD.Float32x4.store(t,4,c);var h=SIMD.Float32x4.load(a,8),_=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(h,3,3,3,3),s))));SIMD.Float32x4.store(t,8,_);var d=SIMD.Float32x4.load(a,12),p=SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,0,0,0,0),r),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,1,1,1,1),n),SIMD.Float32x4.add(SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,2,2,2,2),i),SIMD.Float32x4.mul(SIMD.Float32x4.swizzle(d,3,3,3,3),s))));return SIMD.Float32x4.store(t,12,p),t},n.scalar.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],m=e[12],M=e[13],f=e[14],v=e[15],g=a[0],y=a[1],S=a[2],I=a[3];return t[0]=g*r+y*o+S*h+I*m,t[1]=g*n+y*l+S*_+I*M,t[2]=g*i+y*u+S*d+I*f,t[3]=g*s+y*c+S*p+I*v,g=a[4],y=a[5],S=a[6],I=a[7],t[4]=g*r+y*o+S*h+I*m,t[5]=g*n+y*l+S*_+I*M,t[6]=g*i+y*u+S*d+I*f,t[7]=g*s+y*c+S*p+I*v,g=a[8],y=a[9],S=a[10],I=a[11],t[8]=g*r+y*o+S*h+I*m,t[9]=g*n+y*l+S*_+I*M,t[10]=g*i+y*u+S*d+I*f,t[11]=g*s+y*c+S*p+I*v,g=a[12],y=a[13],S=a[14],I=a[15],t[12]=g*r+y*o+S*h+I*m,t[13]=g*n+y*l+S*_+I*M,t[14]=g*i+y*u+S*d+I*f,t[15]=g*s+y*c+S*p+I*v,t},n.multiply=r.USE_SIMD?n.SIMD.multiply:n.scalar.multiply,n.mul=n.multiply,n.scalar.translate=function(t,e,a){var r,n,i,s,o,l,u,c,h,_,d,p,m=a[0],M=a[1],f=a[2];return e===t?(t[12]=e[0]*m+e[4]*M+e[8]*f+e[12],t[13]=e[1]*m+e[5]*M+e[9]*f+e[13],t[14]=e[2]*m+e[6]*M+e[10]*f+e[14],t[15]=e[3]*m+e[7]*M+e[11]*f+e[15]):(r=e[0],n=e[1],i=e[2],s=e[3],o=e[4],l=e[5],u=e[6],c=e[7],h=e[8],_=e[9],d=e[10],p=e[11],t[0]=r,t[1]=n,t[2]=i,t[3]=s,t[4]=o,t[5]=l,t[6]=u,t[7]=c,t[8]=h,t[9]=_,t[10]=d,t[11]=p,t[12]=r*m+o*M+h*f+e[12],t[13]=n*m+l*M+_*f+e[13],t[14]=i*m+u*M+d*f+e[14],t[15]=s*m+c*M+p*f+e[15]),t},n.SIMD.translate=function(t,e,a){var r=SIMD.Float32x4.load(e,0),n=SIMD.Float32x4.load(e,4),i=SIMD.Float32x4.load(e,8),s=SIMD.Float32x4.load(e,12),o=SIMD.Float32x4(a[0],a[1],a[2],0);e!==t&&(t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t[4]=e[4],t[5]=e[5],t[6]=e[6],t[7]=e[7],t[8]=e[8],t[9]=e[9],t[10]=e[10],t[11]=e[11]),r=SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(o,0,0,0,0)),n=SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(o,1,1,1,1)),i=SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(o,2,2,2,2));var l=SIMD.Float32x4.add(r,SIMD.Float32x4.add(n,SIMD.Float32x4.add(i,s)));return SIMD.Float32x4.store(t,12,l),t},n.translate=r.USE_SIMD?n.SIMD.translate:n.scalar.translate,n.scalar.scale=function(t,e,a){var r=a[0],n=a[1],i=a[2];return t[0]=e[0]*r,t[1]=e[1]*r,t[2]=e[2]*r,t[3]=e[3]*r,t[4]=e[4]*n,t[5]=e[5]*n,t[6]=e[6]*n,t[7]=e[7]*n,t[8]=e[8]*i,t[9]=e[9]*i,t[10]=e[10]*i,t[11]=e[11]*i,t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.SIMD.scale=function(t,e,a){var r,n,i,s=SIMD.Float32x4(a[0],a[1],a[2],0);return r=SIMD.Float32x4.load(e,0),SIMD.Float32x4.store(t,0,SIMD.Float32x4.mul(r,SIMD.Float32x4.swizzle(s,0,0,0,0))),n=SIMD.Float32x4.load(e,4),SIMD.Float32x4.store(t,4,SIMD.Float32x4.mul(n,SIMD.Float32x4.swizzle(s,1,1,1,1))),i=SIMD.Float32x4.load(e,8),SIMD.Float32x4.store(t,8,SIMD.Float32x4.mul(i,SIMD.Float32x4.swizzle(s,2,2,2,2))),t[12]=e[12],t[13]=e[13],t[14]=e[14],t[15]=e[15],t},n.scale=r.USE_SIMD?n.SIMD.scale:n.scalar.scale,n.rotate=function(t,e,a,n){var i,s,o,l,u,c,h,_,d,p,m,M,f,v,g,y,S,I,D,x,b,F,C,R,w=n[0],U=n[1],P=n[2],A=Math.sqrt(w*w+U*U+P*P);return Math.abs(A)0?(r=2*Math.sqrt(a+1),t[3]=.25*r,t[0]=(e[6]-e[9])/r,t[1]=(e[8]-e[2])/r,t[2]=(e[1]-e[4])/r):e[0]>e[5]&e[0]>e[10]?(r=2*Math.sqrt(1+e[0]-e[5]-e[10]),t[3]=(e[6]-e[9])/r,t[0]=.25*r,t[1]=(e[1]+e[4])/r,t[2]=(e[8]+e[2])/r):e[5]>e[10]?(r=2*Math.sqrt(1+e[5]-e[0]-e[10]),t[3]=(e[8]-e[2])/r,t[0]=(e[1]+e[4])/r,t[1]=.25*r,t[2]=(e[6]+e[9])/r):(r=2*Math.sqrt(1+e[10]-e[0]-e[5]),t[3]=(e[1]-e[4])/r,t[0]=(e[8]+e[2])/r,t[1]=(e[6]+e[9])/r,t[2]=.25*r),t},n.fromRotationTranslationScale=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3],l=n+n,u=i+i,c=s+s,h=n*l,_=n*u,d=n*c,p=i*u,m=i*c,M=s*c,f=o*l,v=o*u,g=o*c,y=r[0],S=r[1],I=r[2];return t[0]=(1-(p+M))*y,t[1]=(_+g)*y,t[2]=(d-v)*y,t[3]=0,t[4]=(_-g)*S,t[5]=(1-(h+M))*S,t[6]=(m+f)*S,t[7]=0,t[8]=(d+v)*I,t[9]=(m-f)*I,t[10]=(1-(h+p))*I,t[11]=0,t[12]=a[0],t[13]=a[1],t[14]=a[2],t[15]=1,t},n.fromRotationTranslationScaleOrigin=function(t,e,a,r,n){var i=e[0],s=e[1],o=e[2],l=e[3],u=i+i,c=s+s,h=o+o,_=i*u,d=i*c,p=i*h,m=s*c,M=s*h,f=o*h,v=l*u,g=l*c,y=l*h,S=r[0],I=r[1],D=r[2],x=n[0],b=n[1],F=n[2];return t[0]=(1-(m+f))*S,t[1]=(d+y)*S,t[2]=(p-g)*S,t[3]=0,t[4]=(d-y)*I,t[5]=(1-(_+f))*I,t[6]=(M+v)*I,t[7]=0,t[8]=(p+g)*D,t[9]=(M-v)*D,t[10]=(1-(_+m))*D,t[11]=0,t[12]=a[0]+x-(t[0]*x+t[4]*b+t[8]*F),t[13]=a[1]+b-(t[1]*x+t[5]*b+t[9]*F),t[14]=a[2]+F-(t[2]*x+t[6]*b+t[10]*F),t[15]=1,t},n.fromQuat=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a+a,o=r+r,l=n+n,u=a*s,c=r*s,h=r*o,_=n*s,d=n*o,p=n*l,m=i*s,M=i*o,f=i*l;return t[0]=1-h-p,t[1]=c+f,t[2]=_-M,t[3]=0,t[4]=c-f,t[5]=1-u-p,t[6]=d+m,t[7]=0,t[8]=_+M,t[9]=d-m,t[10]=1-u-h,t[11]=0,t[12]=0,t[13]=0,t[14]=0,t[15]=1,t},n.frustum=function(t,e,a,r,n,i,s){var o=1/(a-e),l=1/(n-r),u=1/(i-s);return t[0]=2*i*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=2*i*l,t[6]=0,t[7]=0,t[8]=(a+e)*o,t[9]=(n+r)*l,t[10]=(s+i)*u,t[11]=-1,t[12]=0,t[13]=0,t[14]=s*i*2*u,t[15]=0,t},n.perspective=function(t,e,a,r,n){var i=1/Math.tan(e/2),s=1/(r-n);return t[0]=i/a,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=i,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=(n+r)*s,t[11]=-1,t[12]=0,t[13]=0,t[14]=2*n*r*s,t[15]=0,t},n.perspectiveFromFieldOfView=function(t,e,a,r){var n=Math.tan(e.upDegrees*Math.PI/180),i=Math.tan(e.downDegrees*Math.PI/180),s=Math.tan(e.leftDegrees*Math.PI/180),o=Math.tan(e.rightDegrees*Math.PI/180),l=2/(s+o),u=2/(n+i);return t[0]=l,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=u,t[6]=0,t[7]=0,t[8]=-(s-o)*l*.5,t[9]=(n-i)*u*.5,t[10]=r/(a-r),t[11]=-1,t[12]=0,t[13]=0,t[14]=r*a/(a-r),t[15]=0,t},n.ortho=function(t,e,a,r,n,i,s){var o=1/(e-a),l=1/(r-n),u=1/(i-s);return t[0]=-2*o,t[1]=0,t[2]=0,t[3]=0,t[4]=0,t[5]=-2*l,t[6]=0,t[7]=0,t[8]=0,t[9]=0,t[10]=2*u,t[11]=0,t[12]=(e+a)*o,t[13]=(n+r)*l,t[14]=(s+i)*u,t[15]=1,t},n.lookAt=function(t,e,a,i){var s,o,l,u,c,h,_,d,p,m,M=e[0],f=e[1],v=e[2],g=i[0],y=i[1],S=i[2],I=a[0],D=a[1],x=a[2];return Math.abs(M-I).999999?(r[0]=0,r[1]=0,r[2]=0,r[3]=1,r):(i.cross(t,n,s),r[0]=t[0],r[1]=t[1],r[2]=t[2],r[3]=1+l,o.normalize(r,r))}}(),o.setAxes=function(){var t=n.create();return function(e,a,r,n){return t[0]=r[0],t[3]=r[1],t[6]=r[2],t[1]=n[0],t[4]=n[1],t[7]=n[2],t[2]=-a[0],t[5]=-a[1],t[8]=-a[2],o.normalize(e,o.fromMat3(e,t))}}(),o.clone=s.clone,o.fromValues=s.fromValues,o.copy=s.copy,o.set=s.set,o.identity=function(t){return t[0]=0,t[1]=0,t[2]=0,t[3]=1,t},o.setAxisAngle=function(t,e,a){a*=.5;var r=Math.sin(a);return t[0]=r*e[0],t[1]=r*e[1],t[2]=r*e[2],t[3]=Math.cos(a),t},o.getAxisAngle=function(t,e){var a=2*Math.acos(e[3]),r=Math.sin(a/2);return 0!=r?(t[0]=e[0]/r,t[1]=e[1]/r,t[2]=e[2]/r):(t[0]=1,t[1]=0,t[2]=0),a},o.add=s.add,o.multiply=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3],o=a[0],l=a[1],u=a[2],c=a[3];return t[0]=r*c+s*o+n*u-i*l,t[1]=n*c+s*l+i*o-r*u,t[2]=i*c+s*u+r*l-n*o,t[3]=s*c-r*o-n*l-i*u,t},o.mul=o.multiply,o.scale=s.scale,o.rotateX=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+s*o,t[1]=n*l+i*o,t[2]=i*l-n*o,t[3]=s*l-r*o,t},o.rotateY=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l-i*o,t[1]=n*l+s*o,t[2]=i*l+r*o,t[3]=s*l-n*o,t},o.rotateZ=function(t,e,a){a*=.5;var r=e[0],n=e[1],i=e[2],s=e[3],o=Math.sin(a),l=Math.cos(a);return t[0]=r*l+n*o,t[1]=n*l-r*o,t[2]=i*l+s*o,t[3]=s*l-i*o,t},o.calculateW=function(t,e){var a=e[0],r=e[1],n=e[2];return t[0]=a,t[1]=r,t[2]=n,t[3]=Math.sqrt(Math.abs(1-a*a-r*r-n*n)),t},o.dot=s.dot,o.lerp=s.lerp,o.slerp=function(t,e,a,r){var n,i,s,o,l,u=e[0],c=e[1],h=e[2],_=e[3],d=a[0],p=a[1],m=a[2],M=a[3];return(i=u*d+c*p+h*m+_*M)<0&&(i=-i,d=-d,p=-p,m=-m,M=-M),1-i>1e-6?(n=Math.acos(i),s=Math.sin(n),o=Math.sin((1-r)*n)/s,l=Math.sin(r*n)/s):(o=1-r,l=r),t[0]=o*u+l*d,t[1]=o*c+l*p,t[2]=o*h+l*m,t[3]=o*_+l*M,t},o.sqlerp=function(){var t=o.create(),e=o.create();return function(a,r,n,i,s,l){return o.slerp(t,r,s,l),o.slerp(e,n,i,l),o.slerp(a,t,e,2*l*(1-l)),a}}(),o.invert=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i,o=s?1/s:0;return t[0]=-a*o,t[1]=-r*o,t[2]=-n*o,t[3]=i*o,t},o.conjugate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=e[3],t},o.length=s.length,o.len=o.length,o.squaredLength=s.squaredLength,o.sqrLen=o.squaredLength,o.normalize=s.normalize,o.fromMat3=function(t,e){var a,r=e[0]+e[4]+e[8];if(r>0)a=Math.sqrt(r+1),t[3]=.5*a,a=.5/a,t[0]=(e[5]-e[7])*a,t[1]=(e[6]-e[2])*a,t[2]=(e[1]-e[3])*a;else{var n=0;e[4]>e[0]&&(n=1),e[8]>e[3*n+n]&&(n=2);var i=(n+1)%3,s=(n+2)%3;a=Math.sqrt(e[3*n+n]-e[3*i+i]-e[3*s+s]+1),t[n]=.5*a,a=.5/a,t[3]=(e[3*i+s]-e[3*s+i])*a,t[i]=(e[3*i+n]+e[3*n+i])*a,t[s]=(e[3*s+n]+e[3*n+s])*a}return t},o.str=function(t){return"quat("+t[0]+", "+t[1]+", "+t[2]+", "+t[3]+")"},o.exactEquals=s.exactEquals,o.equals=s.equals,t.exports=o},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(3);return t[0]=0,t[1]=0,t[2]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(3);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e},n.fromValues=function(t,e,a){var n=new r.ARRAY_TYPE(3);return n[0]=t,n[1]=e,n[2]=a,n},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t},n.set=function(t,e,a,r){return t[0]=e,t[1]=a,t[2]=r,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return Math.sqrt(a*a+r*r+n*n)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2];return a*a+r*r+n*n},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2];return Math.sqrt(e*e+a*a+r*r)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2];return e*e+a*a+r*r},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=a*a+r*r+n*n;return i>0&&(i=1/Math.sqrt(i),t[0]=e[0]*i,t[1]=e[1]*i,t[2]=e[2]*i),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]},n.cross=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2];return t[0]=n*l-i*o,t[1]=i*s-r*l,t[2]=r*o-n*s,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t},n.hermite=function(t,e,a,r,n,i){var s=i*i,o=s*(2*i-3)+1,l=s*(i-2)+i,u=s*(i-1),c=s*(3-2*i);return t[0]=e[0]*o+a[0]*l+r[0]*u+n[0]*c,t[1]=e[1]*o+a[1]*l+r[1]*u+n[1]*c,t[2]=e[2]*o+a[2]*l+r[2]*u+n[2]*c,t},n.bezier=function(t,e,a,r,n,i){var s=1-i,o=s*s,l=i*i,u=o*s,c=3*i*o,h=3*l*s,_=l*i;return t[0]=e[0]*u+a[0]*c+r[0]*h+n[0]*_,t[1]=e[1]*u+a[1]*c+r[1]*h+n[1]*_,t[2]=e[2]*u+a[2]*c+r[2]*h+n[2]*_,t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI,n=2*r.RANDOM()-1,i=Math.sqrt(1-n*n)*e;return t[0]=Math.cos(a)*i,t[1]=Math.sin(a)*i,t[2]=n*e,t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[3]*r+a[7]*n+a[11]*i+a[15];return s=s||1,t[0]=(a[0]*r+a[4]*n+a[8]*i+a[12])/s,t[1]=(a[1]*r+a[5]*n+a[9]*i+a[13])/s,t[2]=(a[2]*r+a[6]*n+a[10]*i+a[14])/s,t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1],i=e[2];return t[0]=r*a[0]+n*a[3]+i*a[6],t[1]=r*a[1]+n*a[4]+i*a[7],t[2]=r*a[2]+n*a[5]+i*a[8],t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t},n.rotateX=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0],i[1]=n[1]*Math.cos(r)-n[2]*Math.sin(r),i[2]=n[1]*Math.sin(r)+n[2]*Math.cos(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateY=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[2]*Math.sin(r)+n[0]*Math.cos(r),i[1]=n[1],i[2]=n[2]*Math.cos(r)-n[0]*Math.sin(r),t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.rotateZ=function(t,e,a,r){var n=[],i=[];return n[0]=e[0]-a[0],n[1]=e[1]-a[1],n[2]=e[2]-a[2],i[0]=n[0]*Math.cos(r)-n[1]*Math.sin(r),i[1]=n[0]*Math.sin(r)+n[1]*Math.cos(r),i[2]=n[2],t[0]=i[0]+a[0],t[1]=i[1]+a[1],t[2]=i[2]+a[2],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=3),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o1?0:Math.acos(i)},n.str=function(t){return"vec3("+t[0]+", "+t[1]+", "+t[2]+")"},n.exactEquals=function(t,e){return t[0]===e[0]&&t[1]===e[1]&&t[2]===e[2]},n.equals=function(t,e){var a=t[0],n=t[1],i=t[2],s=e[0],o=e[1],l=e[2];return Math.abs(a-s)<=r.EPSILON*Math.max(1,Math.abs(a),Math.abs(s))&&Math.abs(n-o)<=r.EPSILON*Math.max(1,Math.abs(n),Math.abs(o))&&Math.abs(i-l)<=r.EPSILON*Math.max(1,Math.abs(i),Math.abs(l))},t.exports=n},function(t,e,a){var r=a(1),n={};n.create=function(){var t=new r.ARRAY_TYPE(4);return t[0]=0,t[1]=0,t[2]=0,t[3]=0,t},n.clone=function(t){var e=new r.ARRAY_TYPE(4);return e[0]=t[0],e[1]=t[1],e[2]=t[2],e[3]=t[3],e},n.fromValues=function(t,e,a,n){var i=new r.ARRAY_TYPE(4);return i[0]=t,i[1]=e,i[2]=a,i[3]=n,i},n.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t[2]=e[2],t[3]=e[3],t},n.set=function(t,e,a,r,n){return t[0]=e,t[1]=a,t[2]=r,t[3]=n,t},n.add=function(t,e,a){return t[0]=e[0]+a[0],t[1]=e[1]+a[1],t[2]=e[2]+a[2],t[3]=e[3]+a[3],t},n.subtract=function(t,e,a){return t[0]=e[0]-a[0],t[1]=e[1]-a[1],t[2]=e[2]-a[2],t[3]=e[3]-a[3],t},n.sub=n.subtract,n.multiply=function(t,e,a){return t[0]=e[0]*a[0],t[1]=e[1]*a[1],t[2]=e[2]*a[2],t[3]=e[3]*a[3],t},n.mul=n.multiply,n.divide=function(t,e,a){return t[0]=e[0]/a[0],t[1]=e[1]/a[1],t[2]=e[2]/a[2],t[3]=e[3]/a[3],t},n.div=n.divide,n.ceil=function(t,e){return t[0]=Math.ceil(e[0]),t[1]=Math.ceil(e[1]),t[2]=Math.ceil(e[2]),t[3]=Math.ceil(e[3]),t},n.floor=function(t,e){return t[0]=Math.floor(e[0]),t[1]=Math.floor(e[1]),t[2]=Math.floor(e[2]),t[3]=Math.floor(e[3]),t},n.min=function(t,e,a){return t[0]=Math.min(e[0],a[0]),t[1]=Math.min(e[1],a[1]),t[2]=Math.min(e[2],a[2]),t[3]=Math.min(e[3],a[3]),t},n.max=function(t,e,a){return t[0]=Math.max(e[0],a[0]),t[1]=Math.max(e[1],a[1]),t[2]=Math.max(e[2],a[2]),t[3]=Math.max(e[3],a[3]),t},n.round=function(t,e){return t[0]=Math.round(e[0]),t[1]=Math.round(e[1]),t[2]=Math.round(e[2]),t[3]=Math.round(e[3]),t},n.scale=function(t,e,a){return t[0]=e[0]*a,t[1]=e[1]*a,t[2]=e[2]*a,t[3]=e[3]*a,t},n.scaleAndAdd=function(t,e,a,r){return t[0]=e[0]+a[0]*r,t[1]=e[1]+a[1]*r,t[2]=e[2]+a[2]*r,t[3]=e[3]+a[3]*r,t},n.distance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return Math.sqrt(a*a+r*r+n*n+i*i)},n.dist=n.distance,n.squaredDistance=function(t,e){var a=e[0]-t[0],r=e[1]-t[1],n=e[2]-t[2],i=e[3]-t[3];return a*a+r*r+n*n+i*i},n.sqrDist=n.squaredDistance,n.length=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return Math.sqrt(e*e+a*a+r*r+n*n)},n.len=n.length,n.squaredLength=function(t){var e=t[0],a=t[1],r=t[2],n=t[3];return e*e+a*a+r*r+n*n},n.sqrLen=n.squaredLength,n.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t[2]=-e[2],t[3]=-e[3],t},n.inverse=function(t,e){return t[0]=1/e[0],t[1]=1/e[1],t[2]=1/e[2],t[3]=1/e[3],t},n.normalize=function(t,e){var a=e[0],r=e[1],n=e[2],i=e[3],s=a*a+r*r+n*n+i*i;return s>0&&(s=1/Math.sqrt(s),t[0]=a*s,t[1]=r*s,t[2]=n*s,t[3]=i*s),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]+t[2]*e[2]+t[3]*e[3]},n.lerp=function(t,e,a,r){var n=e[0],i=e[1],s=e[2],o=e[3];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t[2]=s+r*(a[2]-s),t[3]=o+r*(a[3]-o),t},n.random=function(t,e){return e=e||1,t[0]=r.RANDOM(),t[1]=r.RANDOM(),t[2]=r.RANDOM(),t[3]=r.RANDOM(),n.normalize(t,t),n.scale(t,t,e),t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=e[3];return t[0]=a[0]*r+a[4]*n+a[8]*i+a[12]*s,t[1]=a[1]*r+a[5]*n+a[9]*i+a[13]*s,t[2]=a[2]*r+a[6]*n+a[10]*i+a[14]*s,t[3]=a[3]*r+a[7]*n+a[11]*i+a[15]*s,t},n.transformQuat=function(t,e,a){var r=e[0],n=e[1],i=e[2],s=a[0],o=a[1],l=a[2],u=a[3],c=u*r+o*i-l*n,h=u*n+l*r-s*i,_=u*i+s*n-o*r,d=-s*r-o*n-l*i;return t[0]=c*u+d*-s+h*-l-_*-o,t[1]=h*u+d*-o+_*-s-c*-l,t[2]=_*u+d*-l+c*-o-h*-s,t[3]=e[3],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=4),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},n.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},n.cross=function(t,e,a){var r=e[0]*a[1]-e[1]*a[0];return t[0]=t[1]=0,t[2]=r,t},n.lerp=function(t,e,a,r){var n=e[0],i=e[1];return t[0]=n+r*(a[0]-n),t[1]=i+r*(a[1]-i),t},n.random=function(t,e){e=e||1;var a=2*r.RANDOM()*Math.PI;return t[0]=Math.cos(a)*e,t[1]=Math.sin(a)*e,t},n.transformMat2=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n,t[1]=a[1]*r+a[3]*n,t},n.transformMat2d=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[2]*n+a[4],t[1]=a[1]*r+a[3]*n+a[5],t},n.transformMat3=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[3]*n+a[6],t[1]=a[1]*r+a[4]*n+a[7],t},n.transformMat4=function(t,e,a){var r=e[0],n=e[1];return t[0]=a[0]*r+a[4]*n+a[12],t[1]=a[1]*r+a[5]*n+a[13],t},n.forEach=function(){var t=n.create();return function(e,a,r,n,i,s){var o,l;for(a||(a=2),r||(r=0),l=n?Math.min(n*a+r,e.length):e.length,o=r;o0?(e=.5/Math.sqrt(d+1),a[Q_W]=.25/e,a[Q_X]=(h-u)*e,a[Q_Y]=(s-c)*e,a[Q_Z]=(o-i)*e):n>l&&n>_?(e=2*Math.sqrt(1+n-l-_),a[Q_W]=(h-u)/e,a[Q_X]=.25*e,a[Q_Y]=(i+o)/e,a[Q_Z]=(s+c)/e):l>_?(e=2*Math.sqrt(1+l-n-_),a[Q_W]=(s-c)/e,a[Q_X]=(i+o)/e,a[Q_Y]=.25*e,a[Q_Z]=(u+h)/e):(e=2*Math.sqrt(1+_-n-l),a[Q_W]=(o-i)/e,a[Q_X]=(s+c)/e,a[Q_Y]=(u+h)/e,a[Q_Z]=.25*e),a},Utils.rotateVec_90=function(t){return vec3.fromValues(-t[Q_Y],t[Q_X],t[Q_Z])},Utils.calcRotateMat=function(t){var e=vec3.clone(t);e=vec3.normalize(e,e);var a=Utils.rotateVec_90(e),r=vec3.fromValues(e[Q_X],e[Q_Y],0),n=vec3.fromValues(a[Q_X],a[Q_Y],0),i=vec3.fromValues(0,0,1);mat4.create();return Utils.setAxisMatrix(r,n,i)},Utils.getMatTranslate=function(t){var e=vec3.create();return e[Q_X]=t[12],e[Q_Y]=t[13],e[Q_Z]=t[14],e},Utils.addMat=function(t,e){for(var a=mat4.create(),r=0;r<16;r++)a[r]=t[r]+e[r];return a},Utils.mulMat=function(t,e){for(var a=mat4.create(),r=0;r<16;r++)a[r]=t[r]*e;return a},Utils.clamp=function(t,e,a){return ta?a:t};var newVec1=vec3.create(),newVec2=vec3.create();Utils.vecInterp=function(t,e,a){newVec1=vec3.scale(newVec1,t,1-a),newVec2=vec3.scale(newVec2,e,a);var r=vec3.create();return r=vec3.add(r,newVec1,newVec2)},Utils.vec2Interp=function(t,e,a){var r=vec2.create(),n=vec2.create();r=vec2.scale(r,t,1-a),n=vec2.scale(n,e,a);var i=vec2.create();return i=vec2.add(i,r,n)},Utils.ptsInterp=function(t,e,a){for(var r=[],n=0;n.05&&n.push(i);this.relevant_bones_indices.push(n)}for(var e in t){var s=t[e];this.fast_bones_map.push(s)}},MeshRenderRegion.prototype.initUvWarp=function(){var t=this.getUVsIndex();this.uv_warp_ref_uvs=[];for(var e=0;er&&(r=o),oa&&(a=i),i1)for(var s=r.getIndexByTime(t),o=1;o1)for(var s=r.getIndexByTime(t),o=1;o0?d.setLocalDisplacements(Utils.ptsInterp(_.getLocalDisplacements(),h.getLocalDisplacements(),l)):d.setPostDisplacements(Utils.ptsInterp(_.getPostDisplacements(),h.getPostDisplacements(),l)),u.push(d)}r.displacement_cache_table[s+o]=u}},CreatureModuleUtils.FillDeformationCache=function(t,e,a,r,n){var i=t[e];n.init(a,r);var s=a;for(var o in i){var l=i[o],u=[];for(var c in l){var h=l[c],_=new MeshDisplacementCache(c),d=CreatureModuleUtils.ReadBoolJSON(h,"use_local_displacements"),p=CreatureModuleUtils.ReadBoolJSON(h,"use_post_displacements");if(1==d){m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"local_displacements");_.setLocalDisplacements(m)}if(1==p){var m=CreatureModuleUtils.ReadPointsArray2DJSON(h,"post_displacements");_.setPostDisplacements(m)}u.push(_)}var M=n.getIndexByTime(o);n.displacement_cache_table[M]=u,CreatureModuleUtils.FillDeformationGapCache(s,o,M,n,u),s=o}n.makeAllReady()},CreatureModuleUtils.FillDeformationCacheFlat=function(t,e,a,r){r.init(e,a);for(var n=e,i=0;i1)for(var s=r.getIndexByTime(t),o=1;o=o&&r<=l){n=!0;break}}n&&t[r]++}this.boundary_indices=[];for(e=0;ei&&(e[0]=i),e[1]>s&&(e[1]=s),a[0]=this.frame&&(this.triggered=!0,!0))},CreatureGameController.prototype.BuildFrameCallbacks=function(t){if(null!=this.meta_asset)for(var e in this.meta_asset.anim_events_map){var a=this.meta_asset.anim_events_map[e];for(var r in a){var n=a[r],i=new CreatureFrameCallback;i.animClipName=e,i.name=n,i.frame=Number(r),i.callback=t(animClipName,name),this.event_callbacks.push(i)}}},CreatureGameController.prototype.AddFrameCallback=function(t,e,a,r){var n=new CreatureFrameCallback;n.animClipName=t,n.name=e,n.frame=a,n.callback=r,this.event_callbacks.push(n)},CreatureGameController.prototype.ResetFrameCallbacks=function(){for(var t in this.event_callbacks)this.event_callbacks[t].resetCallback()},CreatureGameController.prototype.ProcessCallbacks=function(t){var e=t.getActualRuntime();e0)){var r=a.cache_pts;this.UpdateRegionsSwitches(t);for(var n=a.start_time;n<=a.end_time;n++){this.setRunTime(n);for(var i=[],s=0;s<3*this.target_creature.total_num_pts;s++)i[s]=0;this.PoseCreature(t,i,this.getRunTime()),r.push(i)}this.setRunTime(e)}},CreatureManager.prototype.FillSinglePointCacheFrame=function(t,e){var a=this.getRunTime(),r=this.animations[t];this.setRunTime(e);for(var n=[],i=0;i<3*this.target_creature.total_num_pts;i++)n[i]=0;this.PoseCreature(t,n,e),r.fill_cache_pts.push(n),r.verifyFillCache(),this.setRunTime(a)},CreatureManager.prototype.GetIsPlaying=function(){return this.is_playing},CreatureManager.prototype.SetShouldLoop=function(t){this.should_loop=t},CreatureManager.prototype.SetUseCustomTimeRange=function(t){this.use_custom_time_range=t},CreatureManager.prototype.SetCustomTimeRange=function(t,e){this.custom_start_time=t,this.custom_end_time=e},CreatureManager.prototype.SetIsPlaying=function(t){this.is_playing=t},CreatureManager.prototype.ProcessAutoBlending=function(){this.blending_factor+=this.auto_blend_delta,this.blending_factor>1&&(this.blending_factor=1)},CreatureManager.prototype.IncreAutoBlendRunTimes=function(t){set_animation_name="";for(var e=0;eanim_end_time?this.should_loop?ret_time=anim_start_time:ret_time=anim_end_time:ret_timea?this.should_loop?this.run_time=e:this.run_time=a:this.run_time0?(this.UpdateRegionsSwitches(cur_animation_name),e.poseFromCachePts(cur_animation_run_time,this.blend_render_pts[t],this.target_creature.total_num_pts)):(this.UpdateRegionsSwitches(cur_animation_name),this.PoseCreature(this.active_blend_animation_names[t],this.blend_render_pts[t],cur_animation_run_time))}for(var a=0;a<3*this.target_creature.total_num_pts;a++){var r=a,n=this.blend_render_pts[0][a],i=this.blend_render_pts[1][a];this.target_creature.render_pts[r]=(1-this.blending_factor)*n+this.blending_factor*i}}else(e=this.animations[this.active_animation_name]).cache_pts.length>0?e.poseFromCachePts(this.getRunTime(),this.target_creature.render_pts,this.target_creature.total_num_pts):this.PoseCreature(this.active_animation_name,this.target_creature.render_pts,this.getRunTime());this.RunUVItemSwap()},CreatureManager.prototype.RunUVItemSwap=function(){var t=this.target_creature.render_composition.getRegionsMap(),e=this.target_creature.uv_swap_packets,a=this.target_creature.active_uv_swap_actions;if(!isDictEmpty(e)&&!isDictEmpty(a))for(var r in a)if(r in t)for(var n=a[r],i=e[r],s=0;s=0&&c<=1&&h>=0&&h<=1}},{"./Scalar":4}],2:[function(t,e,o){function i(){}e.exports=i,i.area=function(t,e,o){return(e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1])},i.left=function(t,e,o){return i.area(t,e,o)>0},i.leftOn=function(t,e,o){return i.area(t,e,o)>=0},i.right=function(t,e,o){return i.area(t,e,o)<0},i.rightOn=function(t,e,o){return i.area(t,e,o)<=0};var n=[],s=[];i.collinear=function(t,e,o,a){if(a){var r=n,c=s;r[0]=e[0]-t[0],r[1]=e[1]-t[1],c[0]=o[0]-e[0],c[1]=o[1]-e[1];var h=r[0]*c[0]+r[1]*c[1],l=Math.sqrt(r[0]*r[0]+r[1]*r[1]),p=Math.sqrt(c[0]*c[0]+c[1]*c[1]);return Math.acos(h/(l*p))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var i=e;ie[t][0])&&(t=o);a.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},i.prototype.reverse=function(){for(var t=[],e=0,o=this.vertices.length;e!==o;e++)t.push(this.vertices.pop());this.vertices=t},i.prototype.isReflex=function(t){return a.right(this.at(t-1),this.at(t),this.at(t+1))};var c=[],h=[];i.prototype.canSee=function(t,e){var o,i,n=c,r=h;if(a.leftOn(this.at(t+1),this.at(t),this.at(e))&&a.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;i=a.sqdist(this.at(t),this.at(e));for(var l=0;l!==this.vertices.length;++l)if((l+1)%this.vertices.length!==t&&l!==t&&a.leftOn(this.at(t),this.at(e),this.at(l+1))&&a.rightOn(this.at(t),this.at(e),this.at(l))&&(n[0]=this.at(t),n[1]=this.at(e),r[0]=this.at(l),r[1]=this.at(l+1),o=s.lineInt(n,r),a.sqdist(this.at(t),o)0?this.slice(t):[this]},i.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],o=0;or)return console.warn("quickDecomp: max level ("+r+") reached."),t;for(var q=0;qy&&(y+=this.vertices.length),v=Number.MAX_VALUE,y3&&o>=0;--o)a.collinear(this.at(o-1),this.at(o),this.at(o+1),t)&&(this.vertices.splice(o%this.vertices.length,1),o--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,o){function i(){}e.exports=i,i.eq=function(t,e,o){return o=o||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,o){function i(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=i;var s=n.create();i.prototype.setFromPoints=function(t,e,o,i){var a=this.lowerBound,r=this.upperBound;"number"!=typeof o&&(o=0),0!==o?n.rotate(a,t[0],o):n.copy(a,t[0]),n.copy(r,a);for(var c=Math.cos(o),h=Math.sin(o),l=1;lr[f]&&(r[f]=p[f]),p[f]o&&(this.lowerBound[e]=o);var i=t.upperBound[e];this.upperBound[e]c?-1:r}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,o){function i(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=i.AABB}var n=t("../math/vec2"),s=t("../objects/Body");e.exports=i,i.AABB=1,i.BOUNDING_CIRCLE=2,i.prototype.setWorld=function(t){this.world=t},i.prototype.getCollisionPairs=function(t){};var a=n.create();i.boundingRadiusCheck=function(t,e){n.sub(a,t.position,e.position);var o=n.squaredLength(a),i=t.boundingRadius+e.boundingRadius;return o<=i*i},i.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},i.prototype.boundingVolumeCheck=function(t,e){var o;switch(this.boundingVolumeType){case i.BOUNDING_CIRCLE:o=i.boundingRadiusCheck(t,e);break;case i.AABB:o=i.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return o},i.canCollide=function(t,e){var o=s.KINEMATIC,i=s.STATIC;return(t.type!==i||e.type!==i)&&(!(t.type===o&&e.type===i||t.type===i&&e.type===o)&&((t.type!==o||e.type!==o)&&((t.sleepState!==s.SLEEPING||e.sleepState!==s.SLEEPING)&&!(t.sleepState===s.SLEEPING&&e.type===i||e.sleepState===s.SLEEPING&&t.type===i))))},i.NAIVE=1,i.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,o){function i(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.getCollisionPairs=function(t){var e=t.bodies,o=this.result;o.length=0;for(var i=0,s=e.length;i!==s;i++)for(var a=e[i],r=0;rK&&Y0)for(U=0;UMath.pow(v,2))return 0;if(p)return!0;var y=this.createContactEquation(t,n,e,s);return r(y.normalA,h,o),a.normalize(y.normalA,y.normalA),a.scale(y.contactPointA,y.normalA,u),a.scale(y.contactPointB,y.normalA,-d),c(y.contactPointA,y.contactPointA,o),r(y.contactPointA,y.contactPointA,t.position),c(y.contactPointB,y.contactPointB,h),r(y.contactPointB,y.contactPointB,n.position),this.contactEquations.push(y),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(y)),1},i.prototype[y.PLANE|y.CONVEX]=i.prototype[y.PLANE|y.BOX]=i.prototype.planeConvex=function(t,e,o,i,n,s,l,p,u){var d=A,f=b,v=E,y=0;a.rotate(f,g,i);for(var m=0;m!==s.vertices.length;m++){var B=s.vertices[m];if(a.rotate(d,B,p),c(d,d,l),r(v,d,o),h(v,f)<=0){if(u)return!0;y++;var q=this.createContactEquation(t,n,e,s);r(v,d,o),a.copy(q.normalA,f);var P=h(v,q.normalA);a.scale(v,q.normalA,P),r(q.contactPointB,d,n.position),r(q.contactPointA,d,v),r(q.contactPointA,q.contactPointA,t.position),this.contactEquations.push(q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(q))}}return this.enableFrictionReduction&&this.enableFriction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},i.prototype[y.PARTICLE|y.PLANE]=i.prototype.particlePlane=function(t,e,o,i,n,s,c,l,p){var u=A,d=b;l=l||0,r(u,o,c),a.rotate(d,g,l);var f=h(u,d);if(f>0)return 0;if(p)return!0;var v=this.createContactEquation(n,t,s,e);return a.copy(v.normalA,d),a.scale(u,v.normalA,f),r(v.contactPointA,o,u),r(v.contactPointA,v.contactPointA,n.position),r(v.contactPointB,o,t.position),this.contactEquations.push(v),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(v)),1},i.prototype[y.CIRCLE|y.PARTICLE]=i.prototype.circleParticle=function(t,e,o,i,n,s,h,l,p){var u=A;if(r(u,h,o),a.squaredLength(u)>Math.pow(e.radius,2))return 0;if(p)return!0;var d=this.createContactEquation(t,n,e,s);return a.copy(d.normalA,u),a.normalize(d.normalA,d.normalA),a.scale(d.contactPointA,d.normalA,e.radius),c(d.contactPointA,d.contactPointA,o),r(d.contactPointA,d.contactPointA,t.position),r(d.contactPointB,h,n.position),this.contactEquations.push(d),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(d)),1};var H=new f({radius:1}),Z=a.create(),J=a.create();a.create();i.prototype[y.PLANE|y.CAPSULE]=i.prototype.planeCapsule=function(t,e,o,i,n,s,r,h,l){var p=Z,u=J,d=H;a.set(p,-s.length/2,0),a.rotate(p,p,h),c(p,p,r),a.set(u,s.length/2,0),a.rotate(u,u,h),c(u,u,r),d.radius=s.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var v=this.circlePlane(n,d,p,0,t,e,o,i,l),y=this.circlePlane(n,d,u,0,t,e,o,i,l);if(this.enableFrictionReduction&&(this.enableFriction=f),l)return v||y;var m=v+y;return this.enableFrictionReduction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},i.prototype[y.CIRCLE|y.PLANE]=i.prototype.circlePlane=function(t,e,o,i,n,s,l,p,u){var d=t,f=e,v=o,y=n,m=l,B=p;B=B||0;var q=A,P=b,w=E;r(q,v,m),a.rotate(P,g,B);var S=h(P,q);if(S>f.radius)return 0;if(u)return!0;var C=this.createContactEquation(y,d,s,e);return a.copy(C.normalA,P),a.scale(C.contactPointB,C.normalA,-f.radius),c(C.contactPointB,C.contactPointB,v),r(C.contactPointB,C.contactPointB,d.position),a.scale(w,C.normalA,S),r(C.contactPointA,q,w),c(C.contactPointA,C.contactPointA,m),r(C.contactPointA,C.contactPointA,y.position),this.contactEquations.push(C),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(C)),1},i.prototype[y.CONVEX]=i.prototype[y.CONVEX|y.BOX]=i.prototype[y.BOX]=i.prototype.convexConvex=function(t,e,o,n,s,l,p,u,d,f){var v=A,y=b,m=E,g=B,P=q,L=w,x=S,F=C,M=0,f="number"==typeof f?f:0;if(!i.findSeparatingAxis(e,o,n,l,p,u,v))return 0;r(x,p,o),h(v,x)>0&&a.scale(v,v,-1);var I=i.getClosestEdge(e,n,v,!0),R=i.getClosestEdge(l,u,v);if(-1===I||-1===R)return 0;for(var V=0;V<2;V++){var T=I,N=R,G=e,O=l,U=o,k=p,_=n,D=u,W=t,j=s;if(0===V){var X;X=T,T=N,N=X,X=G,G=O,O=X,X=U,U=k,k=X,X=_,_=D,D=X,X=W,W=j,j=X}for(var z=N;z=3){if(d)return!0;var Q=this.createContactEquation(W,j,G,O);M++;var Z=G.vertices[T%G.vertices.length],J=G.vertices[(T+1)%G.vertices.length];a.rotate(m,Z,_),a.rotate(g,J,_),c(m,m,U),c(g,g,U),r(P,g,m),a.rotate90cw(Q.normalA,P),a.normalize(Q.normalA,Q.normalA),r(x,y,m);var $=h(Q.normalA,x);a.scale(L,Q.normalA,$),r(Q.contactPointA,y,U),r(Q.contactPointA,Q.contactPointA,L),c(Q.contactPointA,Q.contactPointA,U),r(Q.contactPointA,Q.contactPointA,W.position),r(Q.contactPointB,y,k),c(Q.contactPointB,Q.contactPointB,k),r(Q.contactPointB,Q.contactPointB,j.position),this.contactEquations.push(Q),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Q))}}}return this.enableFrictionReduction&&this.enableFriction&&M&&this.frictionEquations.push(this.createFrictionFromAverage(M)),M};var Q=a.fromValues(0,0);i.projectConvexOntoAxis=function(t,e,o,i,n){var s,r,c=null,l=null,p=Q;a.rotate(p,i,-o);for(var u=0;uc)&&(c=r),(null===l||rc){var d=l;l=c,c=d}var f=h(e,i);a.set(n,l+f,c+f)};var $=a.fromValues(0,0),tt=a.fromValues(0,0),et=a.fromValues(0,0),ot=a.fromValues(0,0),it=a.fromValues(0,0),nt=a.fromValues(0,0);i.findSeparatingAxis=function(t,e,o,n,s,c,h){var l=null,p=!1,u=!1,d=$,f=tt,v=et,y=ot,g=it,A=nt;if(t instanceof m&&n instanceof m)for(P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(w=0;2!==w;w++){0===w?a.set(y,0,1):1===w&&a.set(y,1,0),0!==E&&a.rotate(y,y,E),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0),p=(S=q[0]-B[1])<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}else for(var P=0;2!==P;P++){var b=t,E=o;1===P&&(b=n,E=c);for(var w=0;w!==b.vertices.length;w++){a.rotate(f,b.vertices[w],E),a.rotate(v,b.vertices[(w+1)%b.vertices.length],E),r(d,v,f),a.rotate90cw(y,d),a.normalize(y,y),i.projectConvexOntoAxis(t,e,o,y,g),i.projectConvexOntoAxis(n,s,c,y,A);var B=g,q=A;g[0]>A[0]&&(q=g,B=A,!0);var S=q[0]-B[1];p=S<=0,(null===l||S>l)&&(a.copy(h,y),l=S,u=p)}}return u};var st=a.fromValues(0,0),at=a.fromValues(0,0),rt=a.fromValues(0,0);i.getClosestEdge=function(t,e,o,i){var n=st,s=at,c=rt;a.rotate(n,o,-e),i&&a.scale(n,n,-1);for(var l=-1,p=t.vertices.length,u=-1,d=0;d!==p;d++){r(s,t.vertices[(d+1)%p],t.vertices[d%p]),a.rotate90cw(c,s),a.normalize(c,c);var f=h(c,n);(-1===l||f>u)&&(l=d%p,u=f)}return l};var ct=a.create(),ht=a.create(),lt=a.create(),pt=a.create(),ut=a.create(),dt=a.create(),ft=a.create();i.prototype[y.CIRCLE|y.HEIGHTFIELD]=i.prototype.circleHeightfield=function(t,e,o,i,n,s,h,l,p,u){var d=s.heights,u=u||e.radius,f=s.elementWidth,v=ht,y=ct,m=ut,g=ft,A=dt,b=lt,E=pt,B=Math.floor((o[0]-u-h[0])/f),q=Math.ceil((o[0]+u-h[0])/f);B<0&&(B=0),q>=d.length&&(q=d.length-1);for(var P=d[B],w=d[q],S=B;SP&&(P=d[S]);if(o[1]-u>P)return!p&&0;for(var C=!1,S=B;S=b[0]&&y[0]0)for(S=B;S<=q;S++)if(a.set(b,S*f,d[S]),a.add(b,b,h),a.sub(v,o,b),a.squaredLength(v)=l.length&&(m=l.length-1);for(var g=l[y],A=l[m],b=y;bg&&(g=l[b]);if(t.aabb.lowerBound[1]>g)return!h&&0;for(var E=0,b=y;b=0||s.containsPoint(this.from))&&this.intersectBody(t,n)}};var a=s.create();i.prototype.intersectBody=function(t,e){var o=this.checkCollisionResponse;if(!o||e.collisionResponse)for(var i=a,n=0,r=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=s,this._currentShape=e,e.raycast(t,this,i,o),this._currentBody=this._currentShape=null)},i.prototype.getAABB=function(t){var e=this.to,o=this.from;s.set(t.lowerBound,Math.min(e[0],o[0]),Math.min(e[1],o[1])),s.set(t.upperBound,Math.max(e[0],o[0]),Math.max(e[1],o[1]))};s.create();i.prototype.reportIntersection=function(t,e,o,n){this.from,this.to;var a=this._currentShape,r=this._currentBody;if(!(this.skipBackfaces&&s.dot(o,this.direction)>0))switch(this.mode){case i.ALL:t.set(o,a,r,e,n),this.callback(t);break;case i.CLOSEST:(e=0&&!(t[s].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);s--)t[s+1]=t[s];t[s+1]=n}return t},i.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;i.sortAxisList(t,e)},i.prototype.getCollisionPairs=function(t){var e=this.axisList,o=this.result,i=this.axisIndex;o.length=0;for(var n=e.length;n--;){var a=e[n];a.aabbNeedsUpdate&&a.updateAABB()}this.sortList();for(var r=0,c=0|e.length;r!==c;r++)for(var h=e[r],l=r+1;lthis.upperLimit&&(s.maxForce=0,s.minForce=-this.maxForce,this.distance=this.upperLimit,p=!0),this.lowerLimitEnabled&&this.positiono?(r.scale(n.normalA,h,-1),r.sub(n.contactPointA,l,a.position),r.sub(n.contactPointB,p,c.position),r.scale(f,h,o),r.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&gr?(f.angle=r,-1===n.indexOf(f)&&n.push(f)):-1!==(m=n.indexOf(f))&&n.splice(m,1),this.lowerLimitEnabled&&y>1;if(e<3)return[];for(var o=[],n=[],s=0;s3;){var r=n[(s+0)%a],c=n[(s+1)%a],h=n[(s+2)%a],l=t[2*r],p=t[2*r+1],u=t[2*c],d=t[2*c+1],f=t[2*h],v=t[2*h+1],y=!1;if(i._convex(l,p,u,d,f,v)){y=!0;for(var m=0;m3*a)break}return o.push(n[0],n[1],n[2]),o},i._PointInTriangle=function(t,e,o,i,n,s,a,r){var c=a-o,h=r-i,l=n-o,p=s-i,u=t-o,d=e-i,f=c*c+h*h,v=c*l+h*p,y=c*u+h*d,m=l*l+p*p,g=l*u+p*d,A=1/(f*m-v*v),b=(m*y-v*g)*A,E=(f*g-v*y)*A;return b>=0&&E>=0&&b+E<1},i._convex=function(t,e,o,i,n,s){return(e-i)*(n-o)+(o-t)*(s-i)>=0},e.exports=i},{}],30:[function(t,e,o){var i=e.exports={},n=t("../utils/Utils");i.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},i.crossVZ=function(t,e,o){return i.rotate(t,e,-Math.PI/2),i.scale(t,t,o),t},i.crossZV=function(t,e,o){return i.rotate(t,o,Math.PI/2),i.scale(t,t,e),t},i.rotate=function(t,e,o){if(0!==o){var i=Math.cos(o),n=Math.sin(o),s=e[0],a=e[1];t[0]=i*s-n*a,t[1]=n*s+i*a}else t[0]=e[0],t[1]=e[1]},i.rotate90cw=function(t,e){var o=e[0],i=e[1];t[0]=i,t[1]=-o},i.toLocalFrame=function(t,e,o,n){i.copy(t,e),i.sub(t,t,o),i.rotate(t,t,-n)},i.toGlobalFrame=function(t,e,o,n){i.copy(t,e),i.rotate(t,t,n),i.add(t,t,o)},i.vectorToLocalFrame=function(t,e,o){i.rotate(t,e,-o)},i.vectorToGlobalFrame=function(t,e,o){i.rotate(t,e,o)},i.centroid=function(t,e,o,n){return i.add(t,e,o),i.add(t,t,n),i.scale(t,t,1/3),t},i.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},i.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},i.fromValues=function(t,e){var o=new n.ARRAY_TYPE(2);return o[0]=t,o[1]=e,o},i.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},i.set=function(t,e,o){return t[0]=e,t[1]=o,t},i.add=function(t,e,o){return t[0]=e[0]+o[0],t[1]=e[1]+o[1],t},i.subtract=function(t,e,o){return t[0]=e[0]-o[0],t[1]=e[1]-o[1],t},i.sub=i.subtract,i.multiply=function(t,e,o){return t[0]=e[0]*o[0],t[1]=e[1]*o[1],t},i.mul=i.multiply,i.divide=function(t,e,o){return t[0]=e[0]/o[0],t[1]=e[1]/o[1],t},i.div=i.divide,i.scale=function(t,e,o){return t[0]=e[0]*o,t[1]=e[1]*o,t},i.distance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return Math.sqrt(o*o+i*i)},i.dist=i.distance,i.squaredDistance=function(t,e){var o=e[0]-t[0],i=e[1]-t[1];return o*o+i*i},i.sqrDist=i.squaredDistance,i.length=function(t){var e=t[0],o=t[1];return Math.sqrt(e*e+o*o)},i.len=i.length,i.squaredLength=function(t){var e=t[0],o=t[1];return e*e+o*o},i.sqrLen=i.squaredLength,i.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},i.normalize=function(t,e){var o=e[0],i=e[1],n=o*o+i*i;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},i.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},i.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},i.lerp=function(t,e,o,i){var n=e[0],s=e[1];return t[0]=n+i*(o[0]-n),t[1]=s+i*(o[1]-s),t},i.reflect=function(t,e,o){var i=e[0]*o[0]+e[1]*o[1];t[0]=e[0]-2*o[0]*i,t[1]=e[1]-2*o[1]*i},i.getLineSegmentsIntersection=function(t,e,o,n,s){var a=i.getLineSegmentsIntersectionFraction(e,o,n,s);return!(a<0)&&(t[0]=e[0]+a*(o[0]-e[0]),t[1]=e[1]+a*(o[1]-e[1]),!0)},i.getLineSegmentsIntersectionFraction=function(t,e,o,i){var n,s,a=e[0]-t[0],r=e[1]-t[1],c=i[0]-o[0],h=i[1]-o[1];return n=(-r*(t[0]-o[0])+a*(t[1]-o[1]))/(-c*r+a*h),s=(c*(t[1]-o[1])-h*(t[0]-o[0]))/(-c*r+a*h),n>=0&&n<=1&&s>=0&&s<=1?s:-1}},{"../utils/Utils":57}],31:[function(t,e,o){function i(t){t=t||{},l.call(this),this.id=t.id||++i._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=i.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=i.DYNAMIC:this.type=i.STATIC,this.boundingRadius=0,this.aabb=new h,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=i.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),s=t("poly-decomp"),a=t("../shapes/Convex"),r=t("../collision/RaycastResult"),c=t("../collision/Ray"),h=t("../collision/AABB"),l=t("../events/EventEmitter");e.exports=i,i.prototype=new l,i.prototype.constructor=i,i._idCounter=0,i.prototype.updateSolveMassProperties=function(){this.sleepState===i.SLEEPING||this.type===i.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},i.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},i.prototype.getArea=function(){for(var t=0,e=0;eo&&(o=a+r)}this.boundingRadius=o},i.prototype.addShape=function(t,e,o){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=o||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},i.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},i.prototype.updateMassProperties=function(){if(this.type===i.STATIC||this.type===i.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,o=this.mass/e,s=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var a=0;a0?1/s:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();i.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var o=n.crossLength(e,t);this.angularForce+=o}};var d=n.create(),f=n.create(),v=n.create();i.prototype.applyForceLocal=function(t,e){e=e||v;var o=d,i=f;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyForce(o,i)};var y=n.create();i.prototype.applyImpulse=function(t,e){if(this.type===i.DYNAMIC){var o=y;if(n.scale(o,t,this.invMass),n.multiply(o,this.massMultiplier,o),n.add(this.velocity,o,this.velocity),e){var s=n.crossLength(e,t);s*=this.invInertia,this.angularVelocity+=s}}};var m=n.create(),g=n.create(),A=n.create();i.prototype.applyImpulseLocal=function(t,e){e=e||A;var o=m,i=g;this.vectorToWorldFrame(o,t),this.vectorToWorldFrame(i,e),this.applyImpulse(o,i)},i.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},i.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},i.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},i.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},i.prototype.fromPolygon=function(t,e){e=e||{};for(c=this.shapes.length;c>=0;--c)this.removeShape(this.shapes[c]);var o=new s.Polygon;if(o.vertices=t,o.makeCCW(),"number"==typeof e.removeCollinearPoints&&o.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!o.isSimple())return!1;this.concavePath=o.vertices.slice(0);for(c=0;c=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=i.AWAKE):(this.idleTime+=o,this.sleepState=i.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},i.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var q=n.create(),P=n.create();i.prototype.integrate=function(t){var e=this.invMass,o=this.force,i=this.position,s=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(q,o,t*e),n.multiply(q,this.massMultiplier,q),n.add(s,q,s),this.integrateToTimeOfImpact(t)||(n.scale(P,s,t),n.add(i,i,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var w=new r,S=new c({mode:c.ALL}),C=n.create(),L=n.create(),x=n.create(),F=n.create();i.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=h&&c=0&&(s.rotate(d,p,i),s.scale(d,d,2*m-1),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}for(var A=Math.pow(this.radius,2)+Math.pow(y,2),m=0;m<2;m++){s.set(f,y*(2*m-1),0),s.toGlobalFrame(f,f,o,i);var b=Math.pow(a[0]-n[0],2)+Math.pow(a[1]-n[1],2),E=2*((a[0]-n[0])*(n[0]-f[0])+(a[1]-n[1])*(n[1]-f[1])),B=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),q=Math.pow(E,2)-4*b*B;if(!(q<0))if(0===q){if(s.lerp(u,n,a,q),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,q,d,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(q),w=1/(2*b),S=(-E-P)*w,C=(-E+P)*w;if(S>=0&&S<=1&&(s.lerp(u,n,a,S),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,S,d,-1),t.shouldStop(e))))return;if(C>=0&&C<=1&&(s.lerp(u,n,a,C),s.squaredDistance(u,o)>A&&(s.sub(d,u,f),s.normalize(d,d),e.reportIntersection(t,C,d,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},i.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},i.prototype.computeAABB=function(t,e,o){var i=this.radius;s.set(t.upperBound,i,i),s.set(t.lowerBound,-i,-i),e&&(s.add(t.lowerBound,t.lowerBound,e),s.add(t.upperBound,t.upperBound,e))};var a=s.create(),r=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,c=e.to,h=this.radius,l=Math.pow(c[0]-n[0],2)+Math.pow(c[1]-n[1],2),p=2*((c[0]-n[0])*(n[0]-o[0])+(c[1]-n[1])*(n[1]-o[1])),u=Math.pow(n[0]-o[0],2)+Math.pow(n[1]-o[1],2)-Math.pow(h,2),d=Math.pow(p,2)-4*l*u,f=a,v=r;if(!(d<0))if(0===d)s.lerp(f,n,c,d),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,d,v,-1);else{var y=Math.sqrt(d),m=1/(2*l),g=(-p-y)*m,A=(-p+y)*m;if(g>=0&&g<=1&&(s.lerp(f,n,c,g),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,g,v,-1),t.shouldStop(e)))return;A>=0&&A<=1&&(s.lerp(f,n,c,A),s.sub(v,f,o),s.normalize(v,v),e.reportIntersection(t,A,v,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,o){function i(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],o=0;on)&&(n=i),(null===a||in){var h=a;a=n,n=h}s.set(e,a,n)},i.prototype.projectOntoWorldAxis=function(t,e,o,i){var n=c;this.projectOntoLocalAxis(t,i),0!==o?s.rotate(n,t,o):n=t;var a=s.dot(e,n);s.set(i,i[0]+a,i[1]+a)},i.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=i)}this.boundingRadius=Math.sqrt(e)},i.triangleArea=function(t,e,o){return.5*((e[0]-t[0])*(o[1]-t[1])-(o[0]-t[0])*(e[1]-t[1]))},i.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,o=0;o!==t.length;o++){var n=t[o],s=e[n[0]],a=e[n[1]],r=e[n[2]],c=i.triangleArea(s,a,r);this.area+=c}},i.prototype.computeAABB=function(t,e,o){t.setFromPoints(this.vertices,e,o,0)};var f=s.create(),v=s.create(),y=s.create();i.prototype.raycast=function(t,e,o,i){var n=f,a=v,r=y,c=this.vertices;s.toLocalFrame(n,e.from,o,i),s.toLocalFrame(a,e.to,o,i);for(var h=c.length,l=0;l=0&&(s.sub(r,u,p),s.rotate(r,r,-Math.PI/2+i),s.normalize(r,r),e.reportIntersection(t,d,r,l))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,o){function i(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],o=t[0],i=0;i!==t.length;i++){var n=t[i];n>e&&(e=n),ng){var A=m;m=g,g=A}for(var b=0;b=0&&(s.sub(u,f,d),s.rotate(u,u,i+Math.PI/2),s.normalize(u,u),e.reportIntersection(t,E,u,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,o){function i(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},i.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var a=[s.create(),s.create()];i.prototype.computeAABB=function(t,e,o){var i=this.length/2;s.set(a[0],-i,0),s.set(a[1],i,0),t.setFromPoints(a,e,o,0)};s.create();var r=s.create(),c=s.create(),h=s.create(),l=s.fromValues(0,1);i.prototype.raycast=function(t,e,o,i){var n=e.from,a=e.to,p=c,u=h,d=this.length/2;s.set(p,-d,0),s.set(u,d,0),s.toGlobalFrame(p,p,o,i),s.toGlobalFrame(u,u,o,i);var f=s.getLineSegmentsIntersectionFraction(p,u,n,a);if(f>=0){var v=r;s.rotate(v,l,i),e.reportIntersection(t,f,v,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,o){function i(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=0},i.prototype.computeAABB=function(t,e,o){s.copy(t.lowerBound,e),s.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,o){function i(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),s=t("../math/vec2");t("../utils/Utils");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.computeMomentOfInertia=function(t){return 0},i.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},i.prototype.computeAABB=function(t,e,o){var i=o%(2*Math.PI),n=s.set,a=t.lowerBound,r=t.upperBound;n(a,-1e7,-1e7),n(r,1e7,1e7),0===i?r[1]=0:i===Math.PI/2?a[0]=0:i===Math.PI?a[1]=0:i===3*Math.PI/2&&(r[0]=0)},i.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var a=s.create(),r=(s.create(),s.create(),s.create()),c=s.create();i.prototype.raycast=function(t,e,o,i){var n=e.from,h=e.to,l=e.direction,p=a,u=r,d=c;s.set(u,0,1),s.rotate(u,u,i),s.sub(d,n,o);var f=s.dot(d,u);if(s.sub(d,h,o),!(f*s.dot(d,u)>0||s.squaredDistance(n,h)d*r&&(v=d*r-p),s[t]+=v,e.addToWlambda(v),v}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,o){function i(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=i,(i.prototype=new n).constructor=i,i.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var s={bodies:[]};i.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),s.bodies.length=0,e.getBodies(s.bodies),s.bodies.length&&this.solve(t,s))},i.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},i.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},i.prototype.addEquations=function(t){for(var e=0,o=t.length;e!==o;e++){var i=t[e];i.enabled&&this.equations.push(i)}},i.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},i.prototype.removeAllEquations=function(){this.equations.length=0},i.GS=1,i.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/ContactEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../equations/FrictionEquation"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/IslandNode"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("../world/Island"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,o){function i(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new s({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),s=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=i,i.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,o=t.keys.length;o--;){var i=t.keys[o],n=t.getByKey(i);e.getByKey(i);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},i.prototype.setOverlapping=function(t,e,o,i){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,i.id)){var s=this.recordPool.get();s.set(t,e,o,i),n.set(e.id,i.id,s)}},i.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},i.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},i.prototype.bodiesAreOverlapping=function(t,e){for(var o=this.overlappingShapesCurrentState,i=o.keys.length;i--;){var n=o.keys[i],s=o.data[n];if(s.bodyA===t&&s.bodyB===e||s.bodyA===e&&s.bodyB===t)return!0}return!1},i.prototype.getDiff=function(t,e,o){var i=t,n=e;(o=o||[]).length=0;for(var s=n.keys.length;s--;){var a=n.keys[s],r=n.data[a];if(!r)throw new Error("Key "+a+" had no data!");i.data[a]||o.push(r)}return o},i.prototype.isNewOverlap=function(t,e){var o=0|t.id,i=0|e.id,n=this.overlappingShapesLastState,s=this.overlappingShapesCurrentState;return!n.get(o,i)&&!!s.get(o,i)},i.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},i.prototype.getBodyDiff=function(t,e){e=e||[];for(var o=this.tmpDict,i=t.length;i--;){var n=t[i];o.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(i=o.keys.length;i--;)(n=o.getByKey(o.keys[i]))&&e.push(n.bodyA,n.bodyB);return o.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,o){function i(t,e,o,i){this.shapeA=e,this.shapeB=i,this.bodyA=t,this.bodyB=o}e.exports=i,i.prototype.set=function(t,e,o,n){i.call(this,t,e,o,n)}},{}],54:[function(t,e,o){function i(){s.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),s=t("./Pool");e.exports=i,(i.prototype=new s).constructor=i,i.prototype.create=function(){return new n},i.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,o){function i(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=i,i.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},i.prototype.getByKey=function(t){return t|=0,this.data[t]},i.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},i.prototype.set=function(t,e,o){if(!o)throw new Error("No data!");var i=this.getKey(t,e);return this.data[i]||this.keys.push(i),this.data[i]=o,i},i.prototype.reset=function(){for(var t=this.data,e=this.keys,o=e.length;o--;)delete t[e[o]];e.length=0},i.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var o=t.keys[e];this.data[o]=t.data[o]}}},{"./Utils":57}],57:[function(t,e,o){function i(){}e.exports=i,i.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var o=0,i=e.length;o!==i;++o)t.push(e[o])},i.splice=function(t,e,o){o=o||1;for(var i=e,n=t.length-o;i=t&&i=0;q-=2)for(S=b.length-2;S>=0;S-=2)(B[q]===b[S]&&B[q+1]===b[S+1]||B[q+1]===b[S]&&B[q]===b[S+1])&&b.splice(S,2);X=p.length;for(q=0;q!==X;q++){var w=p[q];if(!w.collideConnected)for(var S=b.length-2;S>=0;S-=2)(w.bodyA===b[S]&&w.bodyB===b[S+1]||w.bodyB===b[S]&&w.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,l.reset(this);for(var q=0,C=b.length;q!==C;q+=2)for(var L=b[q],x=b[q+1],F=0,M=L.shapes.length;F!==M;F++)for(var I=L.shapes[F],R=I.position,V=I.angle,T=0,N=x.shapes.length;T!==N;T++){var G=x.shapes[T],O=G.position,U=G.angle,k=this.defaultContactMaterial;if(I.material&&G.material){var _=this.getContactMaterial(I.material,G.material);_&&(k=_)}this.runNarrowphase(l,L,I,R,V,x,G,O,U,k,this.frictionGravity)}for(q=0;q!==c;q++)(z=n[q])._wakeUpAfterNarrowphase&&(z.wakeUp(),z._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var D=this.endContactEvent,T=P.length;T--;){var W=P[T];D.shapeA=W.shapeA,D.shapeB=W.shapeB,D.bodyA=W.bodyA,D.bodyB=W.bodyB,this.emit(D)}P.length=0}var j=this.preSolveEvent;j.contactEquations=l.contactEquations,j.frictionEquations=l.frictionEquations,this.emit(j),j.contactEquations=j.frictionEquations=null;var X=p.length;for(q=0;q!==X;q++)p[q].update();if(l.contactEquations.length||l.frictionEquations.length||X)if(this.islandSplit){for(v.equations.length=0,g.appendArray(v.equations,l.contactEquations),g.appendArray(v.equations,l.frictionEquations),q=0;q!==X;q++)g.appendArray(v.equations,p[q].equations);v.split(this);for(q=0;q!==v.islands.length;q++)(H=v.islands[q]).equations.length&&r.solveIsland(t,H)}else{for(r.addEquations(l.contactEquations),r.addEquations(l.frictionEquations),q=0;q!==X;q++)r.addEquations(p[q].equations);this.solveConstraints&&r.solve(t,this),r.removeAllEquations()}for(q=0;q!==c;q++){var z=n[q];z.integrate(t)}for(q=0;q!==c;q++)n[q].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,q=0;q!==l.contactEquations.length;q++){var K=l.contactEquations[q];K.firstImpact&&(Y.bodyA=K.bodyA,Y.bodyB=K.bodyB,Y.shapeA=K.shapeA,Y.shapeB=K.shapeB,Y.contactEquation=K,this.emit(Y))}if(this.sleepMode===i.BODY_SLEEPING)for(q=0;q!==c;q++)n[q].sleepTick(this.time,!1,t);else if(this.sleepMode===i.ISLAND_SLEEPING&&this.islandSplit){for(q=0;q!==c;q++)n[q].sleepTick(this.time,!0,t);for(q=0;q0,t.frictionCoefficient=l.friction;var v;v=e.type===u.STATIC||e.type===u.KINEMATIC?a.mass:a.type===u.STATIC||a.type===u.KINEMATIC?e.mass:e.mass*a.mass/(e.mass+a.mass),t.slipForce=l.friction*p*v,t.restitution=l.restitution,t.surfaceVelocity=l.surfaceVelocity,t.frictionStiffness=l.frictionStiffness,t.frictionRelaxation=l.frictionRelaxation,t.stiffness=l.stiffness,t.relaxation=l.relaxation,t.contactSkinSize=l.contactSkinSize,t.enabledEquations=e.collisionResponse&&a.collisionResponse&&o.collisionResponse&&r.collisionResponse;var y=t[o.type|r.type],m=0;if(y){var g=o.sensor||r.sensor,A=t.frictionEquations.length;m=o.type=2*Math.pow(a.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),a.allowSleep&&a.type===u.DYNAMIC&&a.sleepState===u.SLEEPING&&e.sleepState===u.AWAKE&&e.type!==u.STATIC&&s.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(a._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,o,a,r),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(o,r)){var E=this.beginContactEvent;if(E.shapeA=o,E.shapeB=r,E.bodyA=e,E.bodyB=a,E.contactEquations.length=0,"number"==typeof m)for(P=t.contactEquations.length-m;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var o=this.bodies,e=o.length-1;e>=0;e--)this.removeBody(o[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var s=this.contactMaterials,e=s.length-1;e>=0;e--)this.removeContactMaterial(s[e]);i.apply(this)};var w=s.create(),S=(s.fromValues(0,0),s.fromValues(0,0));i.prototype.hitTest=function(t,e,o){o=o||0;var i=new u({position:t}),n=new l,p=t,d=w,f=S;i.addShape(n);for(var v=this.narrowphase,y=[],m=0,g=e.length;m!==g;m++)for(var A=e[m],b=0,E=A.shapes.length;b!==E;b++){var B=A.shapes[b];s.rotate(d,B.position,A.angle),s.add(d,d,A.position);var q=B.angle+A.angle;(B instanceof a&&v.circleParticle(A,B,d,q,i,n,p,0,!0)||B instanceof r&&v.particleConvex(i,n,p,0,A,B,d,q,!0)||B instanceof c&&v.particlePlane(i,n,p,0,A,B,d,q,!0)||B instanceof h&&v.particleCapsule(i,n,p,0,A,B,d,q,!0)||B instanceof l&&s.squaredLength(s.sub(f,d,t))= this.size) @@ -5411,7 +5429,7 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () } // - if ((currentBaseTexture !== nextTexture && !skip) || + if (/* (currentBaseTexture !== nextTexture && !skip) || */ blendSwap || shaderSwap) { @@ -7836,7 +7854,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -33996,13 +34014,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -34047,26 +34058,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/custom/phaser-arcade-physics.map b/build/custom/phaser-arcade-physics.map index ec1374bb8..b9dc829fe 100644 --- a/build/custom/phaser-arcade-physics.map +++ b/build/custom/phaser-arcade-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","polyline","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-arcade-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","collides","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","collision","currentLayer","debugMap","_results","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","getLayer","customClass","lw","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","bodies","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","getTileRight","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","map","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","polyline","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","Particle","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-arcade-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-arcade-physics.min.js b/build/custom/phaser-arcade-physics.min.js index e291f2a80..75c76d5b8 100644 --- a/build/custom/phaser-arcade-physics.min.js +++ b/build/custom/phaser-arcade-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,O=w*y+_*g+S,L=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=L<(l=R<(l=A<(l=P)?A:l)?R:l)?L:l,u=I<(u=O<(u=M(c=R>(c=A>c?A:c)?R:c)?L:c,d=I>(d=O>(d=M>d?M:d)?O:d)?I:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var n=i._uvs;if(n){var r,o,a,h,l=t.anchor.x,u=t.anchor.y;if(i.trim){var c=i.trim;r=(o=c.x-l*c.width)+i.crop.width,a=(h=c.y-u*c.height)+i.crop.height}else r=i.frame.width*(1-l),o=i.frame.width*-l,a=i.frame.height*(1-u),h=i.frame.height*-u;var d=this.currentBatchSize*this.vertexSize,p=i.baseTexture.resolution,f=i.baseTexture.textureIndex,g=s.a/p,m=s.b/p,y=s.c/p,v=s.d/p,x=s.tx,b=s.ty,_=i.crop.height;if(i.rotated){var T=s.a,w=s.b,C=s.c,S=s.d,P=o,E=r;x=s.c*_+x,b=s.d*_+b,g=6.123233995736766e-17*T-C,m=6.123233995736766e-17*w-S,y=T+6.123233995736766e-17*C,v=w+6.123233995736766e-17*S,i._updateUvsInverted(),r=a,o=h,a=E,h=P}var A=this.colors,M=this.positions,R=t.tint,O=(R>>16)+(65280&R)+((255&R)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(M[d++]=g*o+y*h+x|0,M[d++]=v*h+m*o+b|0,M[d++]=n.x0,M[d++]=n.y0,A[d++]=O,M[d++]=f,M[d++]=g*r+y*h+x|0,M[d++]=v*h+m*r+b|0,M[d++]=n.x1,M[d++]=n.y1,A[d++]=O,M[d++]=f,M[d++]=g*r+y*a+x|0,M[d++]=v*a+m*r+b|0,M[d++]=n.x2,M[d++]=n.y2,A[d++]=O,M[d++]=f,M[d++]=g*o+y*a+x|0,M[d++]=v*a+m*o+b|0,M[d++]=n.x3,M[d++]=n.y3,A[d++]=O,M[d++]=f):(M[d++]=g*o+y*h+x,M[d++]=v*h+m*o+b,M[d++]=n.x0,M[d++]=n.y0,A[d++]=O,M[d++]=f,M[d++]=g*r+y*h+x,M[d++]=v*h+m*r+b,M[d++]=n.x1,M[d++]=n.y1,A[d++]=O,M[d++]=f,M[d++]=g*r+y*a+x,M[d++]=v*a+m*r+b,M[d++]=n.x2,M[d++]=n.y2,A[d++]=O,M[d++]=f,M[d++]=g*o+y*a+x,M[d++]=v*a+m*o+b,M[d++]=n.x3,M[d++]=n.y3,A[d++]=O,M[d++]=f),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var n=t._uvs,r=e.baseTexture.width,o=e.baseTexture.height;t.tilePosition.x%=r*t.tileScaleOffset.x,t.tilePosition.y%=o*t.tileScaleOffset.y;var a=t.tilePosition.x/(r*t.tileScaleOffset.x),h=t.tilePosition.y/(o*t.tileScaleOffset.y),l=t.width/r/(t.tileScale.x*t.tileScaleOffset.x),u=t.height/o/(t.tileScale.y*t.tileScaleOffset.y);n.x0=0-a,n.y0=0-h,n.x1=1*l-a,n.y1=0-h,n.x2=1*l-a,n.y2=1*u-h,n.x3=0-a,n.y3=1*u-h;var c=t.tint,d=(c>>16)+(65280&c)+((255&c)<<16)+(255*t.worldAlpha<<24),p=this.positions,f=this.colors,g=t.width,m=t.height,y=t.anchor.x,v=t.anchor.y,x=g*(1-y),b=g*-y,_=m*(1-v),T=m*-v,w=this.currentBatchSize*this.vertexSize,C=e.baseTexture.resolution,S=t.worldTransform,P=S.a/C,E=S.b/C,A=S.c/C,M=S.d/C,R=S.tx,O=S.ty;p[w++]=P*b+A*T+R,p[w++]=M*T+E*b+O,p[w++]=n.x0,p[w++]=n.y0,f[w++]=d,p[w++]=i,p[w++]=P*x+A*T+R,p[w++]=M*T+E*x+O,p[w++]=n.x1,p[w++]=n.y1,f[w++]=d,p[w++]=i,p[w++]=P*x+A*_+R,p[w++]=M*_+E*x+O,p[w++]=n.x2,p[w++]=n.y2,f[w++]=d,p[w++]=i,p[w++]=P*b+A*_+R,p[w++]=M*_+E*b+O,p[w++]=n.x3,p[w++]=n.y3,f[w++]=d,p[w++]=i,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(c!==r&&!v||f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,O.push(p-_,f-T),O.push(G,N,X,U),O.push(p+_,f+T),O.push(G,N,X,U),O.push(p-_,f-T),O.push(G,N,X,U),k++):(O.push(l,u),O.push(G,N,X,U),O.push(p-(l-p),f-(u-f)),O.push(G,N,X,U));for(c=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,O.push(p-y,f-v),O.push(G,N,X,U),O.push(p+y,f+v),O.push(G,N,X,U),L.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,O=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,L=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,L/A,R/A,I/A,O/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,u,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},c={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new e.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new e.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),l=null,u=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),l=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,l,0),(u=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[u]),a.width=i,a.height=s,a.targetTexture=l,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),l.a=i*h.a+s*h.c,l.b=i*h.b+s*h.d,l.c=n*h.a+r*h.c,l.d=n*h.b+r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,l.a=i*h.a,l.b=i*h.b,l.c=r*h.c,l.d=r*h.d,l.tx=o*h.a+a*h.c+h.tx,l.ty=o*h.b+a*h.d+h.ty),i=l.a,s=l.b,n=l.c;var u=i*(r=l.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=b*m+T*v+C,E=w*v+_*m+S,A=b*g+T*v+C,M=w*v+_*g+S,R=b*g+T*y+C,L=w*y+_*g+S,O=b*m+T*y+C,I=w*y+_*m+S;c=P,d=E,u=E,l=O<(l=R<(l=A<(l=P)?A:l)?R:l)?O:l,u=I<(u=L<(u=M(c=R>(c=A>c?A:c)?R:c)?O:c,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=u,f.width=c-l,f.height=d-u,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=b>g?b:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,u,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,u=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,u=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,T=o.tx,w=o.ty,C=i.crop.height;if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,M=l,R=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,b=S+6.123233995736766e-17*E,_=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=u,l=c,u=R,c=M}var L=this.colors,O=this.positions,I=t.tint,k=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*l+b*c+T|0,O[g++]=_*c+x*l+w|0,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T|0,O[g++]=_*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T|0,O[g++]=_*u+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T|0,O[g++]=_*u+x*l+w|0,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y):(O[g++]=v*l+b*c+T,O[g++]=_*c+x*l+w,O[g++]=a.x0,O[g++]=a.y0,L[g++]=k,O[g++]=y,O[g++]=v*h+b*c+T,O[g++]=_*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,L[g++]=k,O[g++]=y,O[g++]=v*h+b*u+T,O[g++]=_*u+x*h+w,O[g++]=a.x2,O[g++]=a.y2,L[g++]=k,O[g++]=y,O[g++]=v*l+b*u+T,O[g++]=_*u+x*l+w,O[g++]=a.x3,O[g++]=a.y3,L[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),u=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-u,o.x1=1*c-l,o.y1=0-u,o.x2=1*c-l,o.y2=1*d-u,o.x3=0-l,o.y3=1*d-u;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),T=y*-x,w=v*(1-b),C=v*-b,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,M=E.b/P,R=E.c/P,L=E.d/P,O=E.tx,I=E.ty;g[S++]=A*T+R*C+O,g[S++]=L*C+M*T+I,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*_+R*C+O,g[S++]=L*C+M*_+I,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*_+R*w+O,g[S++]=L*w+M*_+I,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+R*w+O,g[S++]=L*w+M*T+I,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,l,u),u=m,l=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,u=!1;for("boolean"==typeof a&&(u=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,u=a+o*n,c=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-u*u-r*r+2*u*r))/(h*h*(o*o)+l*l),p=o*c+a,f=o*d+a,g=new e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(u-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,u=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((u=s+(r-s)*(o-i)/(n-i))>a&&u<=l)return!0}else if(i>h&&n<=h&&(u=s+(r-s)*(h-i)/(n-i))>=a&&u<=l)return!0;if(s=a){if((u=i+(n-i)*(a-s)/(r-s))>=o&&u<=h)return!0}else if(s>l&&r<=l&&(u=i+(n-i)*(l-s)/(r-s))>=o&&u<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,u=i.bottom,c=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,u,l,u),r[2].setTo(a,h,a,u),r[3].setTo(l,h,l,u);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,u=o;uthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,u=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,u=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=l-i.x),this.allowVerticalDrag&&(c.y=u-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=u+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,u,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,u){return void 0===u&&(u=this.world),u.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,u){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,u),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,u,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof u&&(this._rotate=u),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=u=t[0],l=c=t[1];for(var g=s;gu&&(u=d),p>c&&(c=p);f=Math.max(u-h,c-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,u=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,u=l.next;else if((t=l)===u){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(u,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,u=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,T=v-b,_/=R=Math.sqrt(_*_+T*T),T/=R,_*=F,T*=F,L.push(p-_,f-T),L.push(G,N,X,U),L.push(p+_,f+T),L.push(G,N,X,U),L.push(p-_,f-T),L.push(G,N,X,U),k++):(L.push(l,u),L.push(G,N,X,U),L.push(p-(l-p),f-(u-f)),L.push(G,N,X,U));for(c=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=c-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),O.push(D),s=0;sh?r:h,l=ou?o:u;s.push(a,l,h,l,h,u,a,u);var d=s.length/2;for(c=0;cP?P:S,i.beginPath(),i.moveTo(_,T+S),i.lineTo(_,T+C-S),i.quadraticCurveTo(_,T+C,_+S,T+C),i.lineTo(_+w-S,T+C),i.quadraticCurveTo(_+w,T+C,_+w,T+C-S),i.lineTo(_+w,T+S),i.quadraticCurveTo(_+w,T,_+w-S,T),i.lineTo(_+S,T),i.quadraticCurveTo(_,T,_,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,b+w),i.lineTo(x,b+T-w),i.quadraticCurveTo(x,b+T,x+w,b+T),i.lineTo(x+_-w,b+T),i.quadraticCurveTo(x+_,b+T,x+_,b+T-w),i.lineTo(x+_,b+w),i.quadraticCurveTo(x+_,b,x+_-w,b),i.lineTo(x+w,b),i.quadraticCurveTo(x,b,x,b+w),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nu*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,u=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,u);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);c.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=b>T?b:T,w=y>w?y:w,w=x>w?x:w,w=_>w?_:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+u:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,u=r.radius+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,u=r.height+f/2,t=a-li?a+l:i,s=h-un?h+u:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var u=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(u+=i[c-1]),l=u+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[c]):l+=Math.ceil(this.context.measureText(h[c]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);u[c]=m,h+=g}var y=u[c].length?c:c+1,v=u.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,u,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(u=0;u0?this._maxWidth:null,l=[],u=0;u=h&&r>-1)return{width:o||n,text:i.substr(0,u-(u-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=u.width),n+=t.lineHeight*i,e=e.substr(u.text.length+1)}while(!1===u.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,u){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=u||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(l+u+c)/3,C=(d+p+f)/3,S=l-w,P=d-C,E=Math.sqrt(S*S+P*P);l=w+S/E*(E+_),d=C+P/E*(E+T),P=p-C,u=w+(S=u-w)/(E=Math.sqrt(S*S+P*P))*(E+_),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+_),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(u,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*c+u*b-x*c-v*u-l*b,R=g*u+l*y+m*c-u*y-l*m-g*c,L=g*x*c+v*u*y+l*m*b-l*x*y-v*m*c-g*u*b,O=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/A,O/A,R/A,I/A,L/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,u=v>u?v:u}if(c===-1/0||u===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=l-c,x.y=d,x.height=u-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],u=0;u(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,T=b>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?b:T;var S=this._bounds;return S.x=w,S.width=_-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,u,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>u&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var u;"json"===r?(u=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(u,l.base,o,a,h,this.game.resolution)):(u=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(u,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var u={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=u,this._resolveURL(i,u)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),u=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,u=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,u=x.g,c=x.b}return e.Color.getColor32(r,l,u,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,u=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,u)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,u=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(l,u,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var u=this.quadTree.retrieve(t),h=0;hu.right)continue;if(u.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomu.bottom)continue;if(u.y>h.body.bottom)break}this.collideSpriteVsSprite(h,c,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,u=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var u={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},c={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*u.x+2*i.mass*c.x)/(t.mass+i.mass),p=(2*t.mass*u.x+(i.mass-t.mass)*c.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-u.y*Math.sin(o))*t.bounce.x,t.velocity.y=(u.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-c.y*Math.sin(o))*i.bounce.x,i.velocity.y=(c.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),u=0;u0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var u=new e.Tileset(t,a,s,n,r,o,{});u.setImage(h),this.tilesets.push(u);for(var c=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(c=0;cthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],u=0;uthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=u){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var T=_[g];if(T&&!(T.index<0)){var w=T.index,C=c[w];void 0===C&&(C=this.resolveTileset(w)),T.alpha===d||this.debug||(o.globalAlpha=T.alpha,d=T.alpha),C?T.rotation||T.flipped?(o.save(),o.translate(p+T.centerX,f+T.centerY),o.rotate(T.rotation),T.flipped&&o.scale(-1,1),C.draw(o,-T.centerX,-T.centerY,w),o.restore()):C.draw(o,p,f,w):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,u)),T.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,u))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,u=0,c=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(u=r+e,c=r-1):e>0&&(c=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),u=Math.floor((u+s)/a),c=Math.floor((c+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(u<=c){this.context.clearRect(0,u*a-s,n,(c-u+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,u,g,c)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var w=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=c&&(i-=c);var C=w[i];!C||C.index<0||!C.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),C.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),C.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),C.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),C.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,u=0;u1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var u,c,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(E>2147483648&&(E-=2147483648,d+=4),E>1073741824&&(E-=1073741824,d+=2),E>536870912&&(E-=536870912,d+=1),d){case 5:u=Math.PI/2;break;case 6:u=Math.PI;break;case 3:u=3*Math.PI/2;break;case 4:u=0,c=!0;break;case 7:u=Math.PI/2,c=!0;break;case 2:u=Math.PI,c=!0;break;case 1:u=3*Math.PI/2,c=!0}E>0?((F=new e.Tile(D,E,p,g.length,t.tilewidth,t.tileheight)).rotation=u,F.flipped=c,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var u=0,c=0;0===l||180===l?u=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?c=Math.sin(this.game.math.degToRad(l))*o:(u=Math.cos(this.game.math.degToRad(l))*o,c=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(u,c),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser-arcade-physics.map \ No newline at end of file diff --git a/build/custom/phaser-creature.js b/build/custom/phaser-creature.js index c4a4f0b36..b5d29d873 100644 --- a/build/custom/phaser-creature.js +++ b/build/custom/phaser-creature.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:26 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:25:00 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -26213,13 +26213,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -26264,26 +26257,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/custom/phaser-creature.map b/build/custom/phaser-creature.map index 764aeb1d6..55906aff4 100644 --- a/build/custom/phaser-creature.map +++ b/build/custom/phaser-creature.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-creature.js"],"names":["root","this","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","postUpdate","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-creature.js"],"names":["root","this","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","postUpdate","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","CreatureShader","program","vertexSrc","compileProgram","useProgram","uSampler","getUniformLocation","getAttribLocation","aTextureIndex","deleteProgram","attribute","meshData","_creature","CreatureAnimation","CreatureManager","timeDelta","creatureBoundsMin","creatureBoundsMax","target_creature","total_num_pts","global_indices","updateRenderData","global_pts","global_uvs","AddAnimation","SetActiveAnimationName","Update","updateData","creatureShader","_renderCreature","updateCreatureBounds","ComputeBoundaryMinMax","boundary_min","boundary_max","read_pts","render_pts","read_uvs","pt_index","uv_index","write_pt_index","regions_map","render_composition","getRegionsMap","region_name","cur_region","start_pt_idx","getStartPtIndex","end_pt_idx","getEndPtIndex","cur_opacity","setAnimation","setAnimationPlaySpeed","SetIsPlaying","RunAtTime","GetIsPlaying","should_loop","SetShouldLoop","values","GetPixelScaling","SetAnchorPoint","setAnchorPointEnabled","SetAnchorPointEnabled","createAllAnimations","CreateAllAnimations","setMetaData","meta","metaJson","metaData","CreatureModuleUtils","BuildCreatureMetaData","SetMetaData","enableSkinSwap","swapNameIn","creature_meta_data","EnableSkinSwap","final_skin_swap_indices","disableSkinSwap","DisableSkinSwap","setActiveItemSwap","regionName","swapIdx","active_uv_swap_actions","removeActiveItemSwap","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-creature.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-creature.min.js b/build/custom/phaser-creature.min.js index d8e7d9e6f..2be16777e 100644 --- a/build/custom/phaser-creature.min.js +++ b/build/custom/phaser-creature.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,m=new e.Point(u,p),g=new e.Point(d,f),y=i.pointOnSegment(m.x,m.y,.01),v=i.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,m=u.y-p}else{var g=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+g),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var m=0;mi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=i-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,m=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+m+this.letterSpacing)*e,l.push(s+(p.xOffset+m+this.letterSpacing)*e),s+=(p.xAdvance+m+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=m*x+v*y+g*b-x*y-v*g-m*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(M/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,m-h))-1:h<0&&(y=(v=g+h)-(f=Math.min(f,m+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,g),null;if(v>g)return console.warn("Last frame index %s is outside of range [0, %d]",v,g),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},u={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),m=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,m,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=r.data.length;g536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new e.Tile(D,A,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===r.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=e._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * aColor.a * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.colorAttribute],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new e.Point,this.creatureBoundsMax=new e.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=O=Math.sqrt(_*_+w*w),w/=O,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=O=Math.sqrt(y*y+v*v),v/=O,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var k=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,O=g*c+l*y+m*u-c*y-l*m-g*u,I=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=g*p+d*y+m*f-p*y-d*m-g*f,L=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/k,E/k,O/k,R/k,I/k,L/k),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},u={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}D={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(D.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((B=new e.Tile(D,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}D.data=g,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},PIXI.CreatureShader=function(t){this._UID=e._UID++,this.gl=t,this.program=null,this.fragmentSrc=["//CreatureShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"],this.vertexSrc=["//CreatureShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","attribute vec4 aColor;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform float alpha;","uniform vec3 tint;","varying vec2 vTextureCoord;","varying float vTextureIndex;","varying vec4 vColor;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = vec4(tint[0], tint[1], tint[2], 1.0) * aColor.a * alpha;","}"],this.init()},PIXI.CreatureShader.prototype.constructor=PIXI.CreatureShader,PIXI.CreatureShader.prototype.init=function(){var t=this.gl,e=PIXI.compileProgram(t,this.vertexSrc,this.fragmentSrc);t.useProgram(e),this.uSampler=PIXI._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),this.projectionVector=t.getUniformLocation(e,"projectionVector"),this.offsetVector=t.getUniformLocation(e,"offsetVector"),this.colorAttribute=t.getAttribLocation(e,"aColor"),this.aTextureIndex=t.getAttribLocation(e,"aTextureIndex"),this.aVertexPosition=t.getAttribLocation(e,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(e,"aTextureCoord"),this.attributes=[this.aVertexPosition,this.aTextureCoord,this.colorAttribute],this.translationMatrix=t.getUniformLocation(e,"translationMatrix"),this.alpha=t.getUniformLocation(e,"alpha"),this.tintColor=t.getUniformLocation(e,"tint"),this.program=e},PIXI.CreatureShader.prototype.destroy=function(){this.gl.deleteProgram(this.program),this.uniforms=null,this.gl=null,this.attribute=null},e.Creature=function(t,i,s,n,r,o,a){if(this.game=t,void 0===o&&(o="default"),void 0===a&&(a=!1),this.type=e.CREATURE,t.cache.checkJSONKey(r)){var h=t.cache.getJSON(r,!0);if(this._creature=new Creature(h,a),this.animation=new CreatureAnimation(h,o,a),this.manager=new CreatureManager(this._creature),this.timeDelta=.05,"string"==typeof n)l=new PIXI.Texture(t.cache.getBaseTexture(n));else var l=n;this.texture=l,PIXI.DisplayObjectContainer.call(this),this.dirty=!0,this.blendMode=PIXI.blendModes.NORMAL,this.creatureBoundsMin=new e.Point,this.creatureBoundsMax=new e.Point;var c=this.manager.target_creature;this.vertices=new Float32Array(2*c.total_num_pts),this.uvs=new Float32Array(2*c.total_num_pts),this.indices=new Uint16Array(c.global_indices.length);for(var u=0;u0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); //# sourceMappingURL=phaser-creature.map \ No newline at end of file diff --git a/build/custom/phaser-minimum.js b/build/custom/phaser-minimum.js index 0eb70ef79..b4e7ee557 100644 --- a/build/custom/phaser-minimum.js +++ b/build/custom/phaser-minimum.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:17 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:24:51 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -5007,6 +5007,15 @@ PIXI.WebGLSpriteBatch.prototype.end = function () PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) { var texture = sprite.texture; + var baseTexture = texture.baseTexture; + var gl = this.gl; + if (PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + baseTexture.textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] = baseTexture; + } // They provided an alternative rendering matrix, so use it var wt = sprite.worldTransform; @@ -5179,7 +5188,16 @@ PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) PIXI.WebGLSpriteBatch.prototype.renderTilingSprite = function (sprite) { var texture = sprite.tilingTexture; + var baseTexture = texture.baseTexture; + var gl = this.gl; var textureIndex = sprite.texture.baseTexture.textureIndex; + if (PIXI.WebGLRenderer.textureArray[textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[textureIndex] = baseTexture; + } // check texture.. if (this.currentBatchSize >= this.size) @@ -5411,7 +5429,7 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () } // - if ((currentBaseTexture !== nextTexture && !skip) || + if (/* (currentBaseTexture !== nextTexture && !skip) || */ blendSwap || shaderSwap) { @@ -7836,7 +7854,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -31295,13 +31313,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -31346,26 +31357,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/custom/phaser-minimum.map b/build/custom/phaser-minimum.map index e4f01033b..7bb7986f6 100644 --- a/build/custom/phaser-minimum.map +++ b/build/custom/phaser-minimum.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","updates","renders","fps","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","addImageAsync","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","char","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Box2D","Matter","startSystem","system","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-minimum.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","connect","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","idx","createElement","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","LITTLE_ENDIAN","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","Uint8Array","_checkIsUint8ClampedImageData","Uint8ClampedArray","ctx","createImageData","userAgent","test","vita","kindle","match","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","skipPool","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","translateX","translateY","skewX","skewY","setSmoothingEnabled","vendor","prefix","getSmoothingEnabled","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","getNextPowerOfTwo","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","sum","shear","snapTo","gap","snapToFloor","snapToCeil","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","difference","angleBetween","angleBetweenY","angleBetweenPoints","point1","point2","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","v0","v1","t2","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","charCodeAt","integer","real","integerInRange","realInRange","normal","ary","weightedPick","timestamp","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","netNoop","getHostName","checkDomainName","updateQueryString","getQueryString","decodeURI","prevTime","physicsElapsed","_desiredFps","suggestedFps","advancedTiming","frames","updates","renders","fps","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","_pause","_resume","elapsedSince","since","elapsedSecondsSince","running","expired","onComplete","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","pendingDelete","clearPendingEvents","adjustEvents","baseTime","ms","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","updateFrameData","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","isPaused","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onStart","onUpdate","onLoop","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reversed","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","suffix","zeroPad","Frame","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","FrameData","_frameNames","addFrame","getFrameRange","getFrames","AnimationParser","spriteSheet","frameWidth","frameHeight","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","checkImageKey","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImage","addImageAsync","onload","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","textureFrame","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","getCanvas","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getBitmapFont","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","path","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","properties","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","toDataURL","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","toUpperCase","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","status","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","exec","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","lineHeight","letters","charCode","char","xAdvance","kerning","kernings","second","finalizeBitmapFont","_face","_size","_lineHeight","letter","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","String","fromCharCode","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","dom","minWidth","maxWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","newWidth","newHeight","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","targetWidth","targetHeight","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","debugNoop","soundInfo","cameraInfo","spriteInputInfo","inputInfo","spriteBounds","ropeSegments","spriteInfo","spriteCoords","lineInfo","pixel","geom","rectangle","quadTree","bodyInfo","box2dWorld","box2dBody","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","unshift","rotateLeft","numberArray","numberArrayStep","LinkedList","prev","last","entity","bmd","palettes","0","1","2","3","4","5","6","7","8","9","A","B","C","D","E","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","draw","manager","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","packPixel","unpackPixel","hsl","hsv","createColor","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","HSLtoRGB","q","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","red","green","blue","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","r1","g1","r2","g2","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendLighten","blendDarken","blendMultiply","blendAverage","blendAdd","blendSubtract","blendDifference","blendNegation","blendScreen","blendExclusion","blendOverlay","blendSoftLight","blendHardLight","blendColorDodge","blendColorBurn","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","box2d","chipmunk","matter","NINJA","BOX2D","CHIPMUNK","MATTERJS","Ninja","P2","Box2D","Matter","startSystem","system","enableAABB","emitters","ID","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-minimum.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-minimum.min.js b/build/custom/phaser-minimum.min.js index dbe4031ba..606235274 100644 --- a/build/custom/phaser-minimum.min.js +++ b/build/custom/phaser-minimum.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*g+C;c=P,d=E,l=E,u=L<(u=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var n=i._uvs;if(n){var r,o,a,h,u=t.anchor.x,l=t.anchor.y;if(i.trim){var c=i.trim;r=(o=c.x-u*c.width)+i.crop.width,a=(h=c.y-l*c.height)+i.crop.height}else r=i.frame.width*(1-u),o=i.frame.width*-u,a=i.frame.height*(1-l),h=i.frame.height*-l;var d=this.currentBatchSize*this.vertexSize,p=i.baseTexture.resolution,f=i.baseTexture.textureIndex,m=s.a/p,g=s.b/p,v=s.c/p,y=s.d/p,x=s.tx,b=s.ty,_=i.crop.height;if(i.rotated){var T=s.a,w=s.b,S=s.c,C=s.d,P=o,E=r;x=s.c*_+x,b=s.d*_+b,m=6.123233995736766e-17*T-S,g=6.123233995736766e-17*w-C,v=T+6.123233995736766e-17*S,y=w+6.123233995736766e-17*C,i._updateUvsInverted(),r=a,o=h,a=E,h=P}var M=this.colors,A=this.positions,R=t.tint,O=(R>>16)+(65280&R)+((255&R)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(A[d++]=m*o+v*h+x|0,A[d++]=y*h+g*o+b|0,A[d++]=n.x0,A[d++]=n.y0,M[d++]=O,A[d++]=f,A[d++]=m*r+v*h+x|0,A[d++]=y*h+g*r+b|0,A[d++]=n.x1,A[d++]=n.y1,M[d++]=O,A[d++]=f,A[d++]=m*r+v*a+x|0,A[d++]=y*a+g*r+b|0,A[d++]=n.x2,A[d++]=n.y2,M[d++]=O,A[d++]=f,A[d++]=m*o+v*a+x|0,A[d++]=y*a+g*o+b|0,A[d++]=n.x3,A[d++]=n.y3,M[d++]=O,A[d++]=f):(A[d++]=m*o+v*h+x,A[d++]=y*h+g*o+b,A[d++]=n.x0,A[d++]=n.y0,M[d++]=O,A[d++]=f,A[d++]=m*r+v*h+x,A[d++]=y*h+g*r+b,A[d++]=n.x1,A[d++]=n.y1,M[d++]=O,A[d++]=f,A[d++]=m*r+v*a+x,A[d++]=y*a+g*r+b,A[d++]=n.x2,A[d++]=n.y2,M[d++]=O,A[d++]=f,A[d++]=m*o+v*a+x,A[d++]=y*a+g*o+b,A[d++]=n.x3,A[d++]=n.y3,M[d++]=O,A[d++]=f),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var n=t._uvs,r=e.baseTexture.width,o=e.baseTexture.height;t.tilePosition.x%=r*t.tileScaleOffset.x,t.tilePosition.y%=o*t.tileScaleOffset.y;var a=t.tilePosition.x/(r*t.tileScaleOffset.x),h=t.tilePosition.y/(o*t.tileScaleOffset.y),u=t.width/r/(t.tileScale.x*t.tileScaleOffset.x),l=t.height/o/(t.tileScale.y*t.tileScaleOffset.y);n.x0=0-a,n.y0=0-h,n.x1=1*u-a,n.y1=0-h,n.x2=1*u-a,n.y2=1*l-h,n.x3=0-a,n.y3=1*l-h;var c=t.tint,d=(c>>16)+(65280&c)+((255&c)<<16)+(255*t.worldAlpha<<24),p=this.positions,f=this.colors,m=t.width,g=t.height,v=t.anchor.x,y=t.anchor.y,x=m*(1-v),b=m*-v,_=g*(1-y),T=g*-y,w=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,C=t.worldTransform,P=C.a/S,E=C.b/S,M=C.c/S,A=C.d/S,R=C.tx,O=C.ty;p[w++]=P*b+M*T+R,p[w++]=A*T+E*b+O,p[w++]=n.x0,p[w++]=n.y0,f[w++]=d,p[w++]=i,p[w++]=P*x+M*T+R,p[w++]=A*T+E*x+O,p[w++]=n.x1,p[w++]=n.y1,f[w++]=d,p[w++]=i,p[w++]=P*x+M*_+R,p[w++]=A*_+E*x+O,p[w++]=n.x2,p[w++]=n.y2,f[w++]=d,p[w++]=i,p[w++]=P*b+M*_+R,p[w++]=A*_+E*b+O,p[w++]=n.x3,p[w++]=n.y3,f[w++]=d,p[w++]=i,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(c!==r&&!y||f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},e.Component.Bounds=function(){},e.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.skipTypeChecks=!1,e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree;var n=function(){};e.Net=n,e.Net.prototype={isDisabled:!0,getHostName:n,checkDomainName:n,updateQueryString:n,getQueryString:n,decodeURI:n},e.Net.prototype.constructor=e.Net,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.warn("First frame index %s is outside of range [0, %d]",v,g),null;if(y>g)return console.warn("Last frame index %s is outside of range [0, %d]",y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),e.FlexGrid&&(this.grid=new e.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,i){var s,n=new e.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds,this.parentNode),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof i?o=i:(this.parentScaleFactor.y=parseInt(i,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var r=function(){};return e.Utils.Debug=r,e.Utils.Debug.prototype={isDisabled:!0,boot:r,destroy:r,preUpdate:r,reset:r,start:r,stop:r,line:r,soundInfo:r,cameraInfo:r,timer:r,pointer:r,spriteInputInfo:r,key:r,inputInfo:r,spriteBounds:r,ropeSegments:r,spriteInfo:r,spriteCoords:r,lineInfo:r,pixel:r,geom:r,rectangle:r,text:r,quadTree:r,body:r,bodyInfo:r,box2dWorld:r,box2dBody:r},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var u={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,v=f.y,y=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,T=x.c,w=x.d,S=x.tx,C=x.ty,P=b*g+T*y+S,E=w*y+_*g+C,M=b*m+T*y+S,A=w*y+_*m+C,R=b*m+T*v+S,O=w*v+_*m+C,L=b*g+T*v+S,I=w*v+_*g+C;c=P,d=E,l=E,u=L<(u=R<(u=M<(u=P)?M:u)?R:u)?L:u,l=I<(l=O<(l=A(c=R>(c=M>c?M:c)?R:c)?L:c,d=I>(d=O>(d=A>d?A:d)?O:d)?I:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=_>(f=x>f?x:f)?_:f)?w:f)?C:f,m=P>(m=S>(m=T>(m=b>m?b:m)?T:m)?S:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=v,E.height=m-v,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var m=this.currentBatchSize*this.vertexSize,g=i.baseTexture.resolution,v=i.baseTexture.textureIndex,y=o.a/g,x=o.b/g,b=o.c/g,_=o.d/g,T=o.tx,w=o.ty,S=i.crop.height;if(i.rotated){var C=o.a,P=o.b,E=o.c,M=o.d,A=u,R=h;T=o.c*S+T,w=o.d*S+w,y=6.123233995736766e-17*C-E,x=6.123233995736766e-17*P-M,b=C+6.123233995736766e-17*E,_=P+6.123233995736766e-17*M,i._updateUvsInverted(),h=l,u=c,l=R,c=A}var O=this.colors,L=this.positions,I=t.tint,D=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(L[m++]=y*u+b*c+T|0,L[m++]=_*c+x*u+w|0,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T|0,L[m++]=_*c+x*h+w|0,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T|0,L[m++]=_*l+x*h+w|0,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T|0,L[m++]=_*l+x*u+w|0,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v):(L[m++]=y*u+b*c+T,L[m++]=_*c+x*u+w,L[m++]=a.x0,L[m++]=a.y0,O[m++]=D,L[m++]=v,L[m++]=y*h+b*c+T,L[m++]=_*c+x*h+w,L[m++]=a.x1,L[m++]=a.y1,O[m++]=D,L[m++]=v,L[m++]=y*h+b*l+T,L[m++]=_*l+x*h+w,L[m++]=a.x2,L[m++]=a.y2,O[m++]=D,L[m++]=v,L[m++]=y*u+b*l+T,L[m++]=_*l+x*u+w,L[m++]=a.x3,L[m++]=a.y3,O[m++]=D,L[m++]=v),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),m=this.positions,g=this.colors,v=t.width,y=t.height,x=t.anchor.x,b=t.anchor.y,_=v*(1-x),T=v*-x,w=y*(1-b),S=y*-b,C=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,M=E.a/P,A=E.b/P,R=E.c/P,O=E.d/P,L=E.tx,I=E.ty;m[C++]=M*T+R*S+L,m[C++]=O*S+A*T+I,m[C++]=o.x0,m[C++]=o.y0,g[C++]=f,m[C++]=r,m[C++]=M*_+R*S+L,m[C++]=O*S+A*_+I,m[C++]=o.x1,m[C++]=o.y1,g[C++]=f,m[C++]=r,m[C++]=M*_+R*w+L,m[C++]=O*w+A*_+I,m[C++]=o.x2,m[C++]=o.y2,g[C++]=f,m[C++]=r,m[C++]=M*T+R*w+L,m[C++]=O*w+A*T+I,m[C++]=o.x3,m[C++]=o.y3,g[C++]=f,m[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,v=this.currentBatchSize;g0&&(y=!1),(f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new e.Point(c,p),g=new e.Point(d,f),v=i.pointOnSegment(m.x,m.y,.01),y=i.pointOnSegment(g.x,g.y,.01);return v&&y?!s||[m,g]:v?!s||[m]:y?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,v=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+v),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Component=function(){},e.Component.Angle=function(){},e.Component.Angle.prototype={angle:{get:function(){return e.Math.wrapAngle(e.Math.radToDeg(this.rotation))},set:function(t){this.rotation=e.Math.degToRad(e.Math.wrapAngle(t))}}},e.Component.Animation=function(){},e.Component.Animation.prototype={play:function(t,e,i,s){if(this.animations)return this.animations.play(t,e,i,s)}},e.Component.AutoCull=function(){},e.Component.AutoCull.prototype={autoCull:!1,inCamera:{get:function(){return this.autoCull||this.checkWorldBounds||(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y),this.game.world.camera.view.intersects(this._bounds)}}},e.Component.Bounds=function(){},e.Component.Bounds.prototype={offsetX:{get:function(){return this.anchor.x*this.width}},offsetY:{get:function(){return this.anchor.y*this.height}},centerX:{get:function(){return this.x-this.offsetX+.5*this.width},set:function(t){this.x=t+this.offsetX-.5*this.width}},centerY:{get:function(){return this.y-this.offsetY+.5*this.height},set:function(t){this.y=t+this.offsetY-.5*this.height}},left:{get:function(){return this.x-this.offsetX},set:function(t){this.x=t+this.offsetX}},right:{get:function(){return this.x+this.width-this.offsetX},set:function(t){this.x=t-this.width+this.offsetX}},top:{get:function(){return this.y-this.offsetY},set:function(t){this.y=t+this.offsetY}},bottom:{get:function(){return this.y+this.height-this.offsetY},set:function(t){this.y=t-this.height+this.offsetY}},alignIn:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.top=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.top=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.top=t.top-n;break;case e.LEFT_CENTER:this.left=t.left-s,this.centerY=t.centerY+n;break;case e.CENTER:this.centerX=t.centerX+s,this.centerY=t.centerY+n;break;case e.RIGHT_CENTER:this.right=t.right+s,this.centerY=t.centerY+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.bottom=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.bottom=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.bottom=t.bottom+n}return this},alignTo:function(t,i,s,n){switch(void 0===s&&(s=0),void 0===n&&(n=0),i){default:case e.TOP_LEFT:this.left=t.left-s,this.bottom=t.top-n;break;case e.TOP_CENTER:this.centerX=t.centerX+s,this.bottom=t.top-n;break;case e.TOP_RIGHT:this.right=t.right+s,this.bottom=t.top-n;break;case e.LEFT_TOP:this.right=t.left-s,this.top=t.top-n;break;case e.LEFT_CENTER:this.right=t.left-s,this.centerY=t.centerY+n;break;case e.LEFT_BOTTOM:this.right=t.left-s,this.bottom=t.bottom+n;break;case e.RIGHT_TOP:this.left=t.right+s,this.top=t.top-n;break;case e.RIGHT_CENTER:this.left=t.right+s,this.centerY=t.centerY+n;break;case e.RIGHT_BOTTOM:this.left=t.right+s,this.bottom=t.bottom+n;break;case e.BOTTOM_LEFT:this.left=t.left-s,this.top=t.bottom+n;break;case e.BOTTOM_CENTER:this.centerX=t.centerX+s,this.top=t.bottom+n;break;case e.BOTTOM_RIGHT:this.right=t.right+s,this.top=t.bottom+n}return this}},e.Group.prototype.alignIn=e.Component.Bounds.prototype.alignIn,e.Group.prototype.alignTo=e.Component.Bounds.prototype.alignTo,e.Component.BringToTop=function(){},e.Component.BringToTop.prototype.bringToTop=function(){return this.parent&&this.parent.bringChildToTop&&this.parent.bringChildToTop(this),this},e.Component.BringToTop.prototype.sendToBack=function(){return this.parent&&this.parent.sendChildToBack&&this.parent.sendChildToBack(this),this},e.Component.BringToTop.prototype.moveUp=function(){return this.parent&&this.parent.moveUp(this),this},e.Component.BringToTop.prototype.moveDown=function(){return this.parent&&this.parent.moveDown(this),this},e.Component.Core=function(){},e.Component.Core.install=function(t){e.Utils.mixinPrototype(this,e.Component.Core.prototype),this.components={};for(var i=0;ithis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree;var n=function(){};e.Net=n,e.Net.prototype={isDisabled:!0,getHostName:n,checkDomainName:n,updateQueryString:n,getQueryString:n,decodeURI:n},e.Net.prototype.constructor=e.Net,e.TweenManager=function(){},e.TweenManager.prototype.update=function(){},e.TweenManager.prototype.removeAll=function(){},e.TweenManager.prototype.removeFrom=function(){},e.TweenManager.prototype.destroy=function(){},e.TweenManager.prototype.constructor=e.TweenManager,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(y=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?y=(v=h)+(f=Math.min(f,m-h))-1:h<0&&(v=(y=g+h)-(f=Math.min(f,m+h))+1),v<0)return console.warn("First frame index %s is outside of range [0, %d]",v,g),null;if(y>g)return console.warn("Last frame index %s is outside of range [0, %d]",y,g),null;for(var x=new e.FrameData,b=o,_=o,T=0,w=0;wy);w++)w>=v&&x.addFrame(new e.Frame(T++,b,_,s,n,"")),(b+=s+a)+s>l&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.SoundManager=function(){this.muteOnPause=!1},e.SoundManager.prototype.boot=function(){},e.SoundManager.prototype.update=function(){},e.SoundManager.prototype.destroy=function(){},e.SoundManager.prototype.setMute=function(){},e.SoundManager.prototype.unsetMute=function(){},e.SoundManager.prototype.constructor=e.SoundManager,e.ScaleManager=function(t,i,s){this.game=t,this.dom=e.DOM,this.grid=null,this.width=0,this.height=0,this.minWidth=null,this.maxWidth=null,this.minHeight=null,this.maxHeight=null,this.offset=new e.Point,this.forceLandscape=!1,this.forcePortrait=!1,this.incorrectOrientation=!1,this._pageAlignHorizontally=!1,this._pageAlignVertically=!1,this.onOrientationChange=new e.Signal,this.enterIncorrectOrientation=new e.Signal,this.leaveIncorrectOrientation=new e.Signal,this.hasPhaserSetFullScreen=!1,this.fullScreenTarget=null,this._createdFullScreenTarget=null,this.onFullScreenInit=new e.Signal,this.onFullScreenChange=new e.Signal,this.onFullScreenError=new e.Signal,this.screenOrientation=this.dom.getScreenOrientation(),this.scaleFactor=new e.Point(1,1),this.scaleFactorInversed=new e.Point(1,1),this.margin={left:0,top:0,right:0,bottom:0,x:0,y:0},this.bounds=new e.Rectangle,this.aspectRatio=0,this.sourceAspectRatio=0,this.event=null,this.windowConstraints={right:"layout",bottom:""},this.compatibility={supportsFullScreen:!1,orientationFallback:null,noMargins:!1,scrollTo:null,forceMinimumDocumentHeight:!1,canExpandParent:!0,clickTrampoline:""},this._scaleMode=e.ScaleManager.NO_SCALE,this._fullScreenScaleMode=e.ScaleManager.NO_SCALE,this.parentIsWindow=!1,this.parentNode=null,this.parentScaleFactor=new e.Point(1,1),this.trackParentInterval=2e3,this.onSizeChange=new e.Signal,this.onResize=null,this.onResizeContext=null,this._pendingScaleMode=null,this._fullScreenRestore=null,this._gameSize=new e.Rectangle,this._userScaleFactor=new e.Point(1,1),this._userScaleTrim=new e.Point(0,0),this._lastUpdate=0,this._updateThrottle=0,this._updateThrottleReset=100,this._parentBounds=new e.Rectangle,this._tempBounds=new e.Rectangle,this._lastReportedCanvasSize=new e.Rectangle,this._lastReportedGameSize=new e.Rectangle,this._booted=!1,t.config&&this.parseConfig(t.config),this.setupScale(i,s)},e.ScaleManager.EXACT_FIT=0,e.ScaleManager.NO_SCALE=1,e.ScaleManager.SHOW_ALL=2,e.ScaleManager.RESIZE=3,e.ScaleManager.USER_SCALE=4,e.ScaleManager.MODES=["EXACT_FIT","NO_SCALE","SHOW_ALL","RESIZE","USER_SCALE"],e.ScaleManager.prototype={boot:function(){var t=this.compatibility;t.supportsFullScreen=this.game.device.fullscreen&&!this.game.device.cocoonJS,this.game.device.iPad||this.game.device.webApp||this.game.device.desktop||(this.game.device.android&&!this.game.device.chrome?t.scrollTo=new e.Point(0,1):t.scrollTo=new e.Point(0,0)),this.game.device.desktop?(t.orientationFallback="screen",t.clickTrampoline="when-not-mouse"):(t.orientationFallback="",t.clickTrampoline="");var i=this;this._orientationChange=function(t){return i.orientationChange(t)},this._windowResize=function(t){return i.windowResize(t)},window.addEventListener("orientationchange",this._orientationChange,!1),window.addEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(this._fullScreenChange=function(t){return i.fullScreenChange(t)},this._fullScreenError=function(t){return i.fullScreenError(t)},document.addEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.addEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.addEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.addEventListener("fullscreenchange",this._fullScreenChange,!1),document.addEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.addEventListener("mozfullscreenerror",this._fullScreenError,!1),document.addEventListener("MSFullscreenError",this._fullScreenError,!1),document.addEventListener("fullscreenerror",this._fullScreenError,!1)),this.game.onResume.add(this._gameResumed,this),this.dom.getOffset(this.game.canvas,this.offset),this.bounds.setTo(this.offset.x,this.offset.y,this.width,this.height),this.setGameSize(this.game.width,this.game.height),this.screenOrientation=this.dom.getScreenOrientation(this.compatibility.orientationFallback),e.FlexGrid&&(this.grid=new e.FlexGrid(this,this.width,this.height)),this._booted=!0,null!==this._pendingScaleMode&&(this.scaleMode=this._pendingScaleMode,this._pendingScaleMode=null)},parseConfig:function(t){void 0!==t.scaleMode&&(this._booted?this.scaleMode=t.scaleMode:this._pendingScaleMode=t.scaleMode),void 0!==t.fullScreenScaleMode&&(this.fullScreenScaleMode=t.fullScreenScaleMode),t.fullScreenTarget&&(this.fullScreenTarget=t.fullScreenTarget),this.pageAlignHorizontally=t.alignH||!1,this.pageAlignVertically=t.alignV||!1,t.scaleH&&t.scaleV&&this.setUserScale(t.scaleH,t.scaleV,t.trimH,t.trimV)},setupScale:function(t,i){var s,n=new e.Rectangle;""!==this.game.parent&&("string"==typeof this.game.parent?s=document.getElementById(this.game.parent):this.game.parent&&1===this.game.parent.nodeType&&(s=this.game.parent)),s?(this.parentNode=s,this.parentIsWindow=!1,this.getParentBounds(this._parentBounds,this.parentNode),n.width=this._parentBounds.width,n.height=this._parentBounds.height,this.offset.set(this._parentBounds.x,this._parentBounds.y)):(this.parentNode=null,this.parentIsWindow=!0,n.width=this.dom.visualBounds.width,n.height=this.dom.visualBounds.height,this.offset.set(0,0));var r=0,o=0;"number"==typeof t?r=t:(this.parentScaleFactor.x=parseInt(t,10)/100,r=n.width*this.parentScaleFactor.x),"number"==typeof i?o=i:(this.parentScaleFactor.y=parseInt(i,10)/100,o=n.height*this.parentScaleFactor.y),r=Math.floor(r),o=Math.floor(o),this._gameSize.setTo(0,0,r,o),this.updateDimensions(r,o,!1)},_gameResumed:function(){this.queueUpdate(!0)},setGameSize:function(t,i){this._gameSize.setTo(0,0,t,i),this.currentScaleMode!==e.ScaleManager.RESIZE&&this.updateDimensions(t,i,!0),this.queueUpdate(!0)},setUserScale:function(t,e,i,s,n,r){this._userScaleFactor.setTo(t,e),this._userScaleTrim.setTo(0|i,0|s),void 0===n&&(n=!0),void 0===r&&(r=!0),n&&this.queueUpdate(r)},setResizeCallback:function(t,e){this.onResize=t,this.onResizeContext=e},signalSizeChange:function(){if(!e.Rectangle.sameDimensions(this,this._lastReportedCanvasSize)||!e.Rectangle.sameDimensions(this.game,this._lastReportedGameSize)){var t=this.width,i=this.height;this._lastReportedCanvasSize.setTo(0,0,t,i),this._lastReportedGameSize.setTo(0,0,this.game.width,this.game.height),this.grid&&this.grid.onResize(t,i),this.onSizeChange.dispatch(this,t,i),this.currentScaleMode===e.ScaleManager.RESIZE&&(this.game.state.resize(t,i),this.game.load.resize(t,i))}},setMinMax:function(t,e,i,s){this.minWidth=t,this.minHeight=e,void 0!==i&&(this.maxWidth=i),void 0!==s&&(this.maxHeight=s)},preUpdate:function(){if(!(this.game.time.time=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}});var r=function(){};return e.Utils.Debug=r,e.Utils.Debug.prototype={isDisabled:!0,boot:r,destroy:r,preUpdate:r,reset:r,start:r,stop:r,line:r,soundInfo:r,cameraInfo:r,timer:r,pointer:r,spriteInputInfo:r,key:r,inputInfo:r,spriteBounds:r,ropeSegments:r,spriteInfo:r,spriteCoords:r,lineInfo:r,pixel:r,geom:r,rectangle:r,text:r,quadTree:r,body:r,bodyInfo:r,box2dWorld:r,box2dBody:r},e.Utils.Debug.prototype.constructor=e.Utils.Debug,e.DOM={getOffset:function(t,i){i=i||new e.Point;var s=t.getBoundingClientRect(),n=e.DOM.scrollY,r=e.DOM.scrollX,o=document.documentElement.clientTop,a=document.documentElement.clientLeft;return i.x=s.left+r-a,i.y=s.top+n-o,i},getBounds:function(t,e){return void 0===e&&(e=0),!(!(t=t&&!t.nodeType?t[0]:t)||1!==t.nodeType)&&this.calibrate(t.getBoundingClientRect(),e)},calibrate:function(t,e){e=+e||0;var i={width:0,height:0,left:0,right:0,top:0,bottom:0};return i.width=(i.right=t.right+e)-(i.left=t.left-e),i.height=(i.bottom=t.bottom+e)-(i.top=t.top-e),i},getAspectRatio:function(t){var e=(t=null==t?this.visualBounds:1===t.nodeType?this.getBounds(t):t).width,i=t.height;return"function"==typeof e&&(e=e.call(t)),"function"==typeof i&&(i=i.call(t)),e/i},inLayoutViewport:function(t,e){var i=this.getBounds(t,e);return!!i&&i.bottom>=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var u={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var v=(f.s-p.s)*n/s+p.s,y=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,v,y,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser-minimum.map \ No newline at end of file diff --git a/build/custom/phaser-no-physics.js b/build/custom/phaser-no-physics.js index e436d3e08..988c5ddfe 100644 --- a/build/custom/phaser-no-physics.js +++ b/build/custom/phaser-no-physics.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:14 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:24:47 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -5007,6 +5007,15 @@ PIXI.WebGLSpriteBatch.prototype.end = function () PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) { var texture = sprite.texture; + var baseTexture = texture.baseTexture; + var gl = this.gl; + if (PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + baseTexture.textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] = baseTexture; + } // They provided an alternative rendering matrix, so use it var wt = sprite.worldTransform; @@ -5179,7 +5188,16 @@ PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) PIXI.WebGLSpriteBatch.prototype.renderTilingSprite = function (sprite) { var texture = sprite.tilingTexture; + var baseTexture = texture.baseTexture; + var gl = this.gl; var textureIndex = sprite.texture.baseTexture.textureIndex; + if (PIXI.WebGLRenderer.textureArray[textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[textureIndex] = baseTexture; + } // check texture.. if (this.currentBatchSize >= this.size) @@ -5411,7 +5429,7 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () } // - if ((currentBaseTexture !== nextTexture && !skip) || + if (/* (currentBaseTexture !== nextTexture && !skip) || */ blendSwap || shaderSwap) { @@ -7836,7 +7854,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -33996,13 +34014,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -34047,26 +34058,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/custom/phaser-no-physics.map b/build/custom/phaser-no-physics.map index 9679e5bc0..9aed1a396 100644 --- a/build/custom/phaser-no-physics.map +++ b/build/custom/phaser-no-physics.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-no-physics.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","floor","Function","bind","slice","thisArg","bound","args","boundArgs","concat","arguments","TypeError","F","proto","arg","forEach","fun","t","len","CheapArray","assert","assign","varArgs","to","hasOwn","hasOwnProperty","nextSource","nextKey","Utils","defaults","keys","reverseString","string","split","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","f","px","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","extend","options","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","o","childNodes","cloneNode","Circle","diameter","_diameter","_radius","circumference","PI","out","u","radius","setTo","copyFrom","copyTo","dest","distance","round","output","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","point","top","bottom","equals","intersects","degToRad","intersectsRectangle","abs","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","k","m","n","del","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","Line","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","edge","normalAngle","fromArray","array","pos","newPos","translate","tx1","append","d1","identity","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","centroid","points","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","World","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","hitTest","localPoint","Creature","TileSprite","graphicsData","fill","shape","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","emitters","ID","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser-no-physics.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-no-physics.min.js b/build/custom/phaser-no-physics.min.js index 994024caa..dbb300fcf 100644 --- a/build/custom/phaser-no-physics.min.js +++ b/build/custom/phaser-no-physics.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var m=(f=new s.Rectangle).x,g=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*g+T*v+C,E=w*v+b*g+S,A=_*m+T*v+C,R=w*v+b*m+S,M=_*m+T*y+C,O=w*y+b*m+S,I=_*g+T*y+C,L=w*y+b*g+S;c=P,d=E,l=E,u=I<(u=M<(u=A<(u=P)?A:u)?M:u)?I:u,l=L<(l=O<(l=R(c=M>(c=A>c?A:c)?M:c)?I:c,d=L>(d=O>(d=R>d?R:d)?O:d)?L:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,m=P>(m=C>(m=T>(m=_>m?_:m)?T:m)?C:m)?P:m}var E=this._bounds;return E.x=g,E.width=f-g,E.y=y,E.height=m-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var n=i._uvs;if(n){var r,o,a,h,u=t.anchor.x,l=t.anchor.y;if(i.trim){var c=i.trim;r=(o=c.x-u*c.width)+i.crop.width,a=(h=c.y-l*c.height)+i.crop.height}else r=i.frame.width*(1-u),o=i.frame.width*-u,a=i.frame.height*(1-l),h=i.frame.height*-l;var d=this.currentBatchSize*this.vertexSize,p=i.baseTexture.resolution,f=i.baseTexture.textureIndex,m=s.a/p,g=s.b/p,y=s.c/p,v=s.d/p,x=s.tx,_=s.ty,b=i.crop.height;if(i.rotated){var T=s.a,w=s.b,C=s.c,S=s.d,P=o,E=r;x=s.c*b+x,_=s.d*b+_,m=6.123233995736766e-17*T-C,g=6.123233995736766e-17*w-S,y=T+6.123233995736766e-17*C,v=w+6.123233995736766e-17*S,i._updateUvsInverted(),r=a,o=h,a=E,h=P}var A=this.colors,R=this.positions,M=t.tint,O=(M>>16)+(65280&M)+((255&M)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(R[d++]=m*o+y*h+x|0,R[d++]=v*h+g*o+_|0,R[d++]=n.x0,R[d++]=n.y0,A[d++]=O,R[d++]=f,R[d++]=m*r+y*h+x|0,R[d++]=v*h+g*r+_|0,R[d++]=n.x1,R[d++]=n.y1,A[d++]=O,R[d++]=f,R[d++]=m*r+y*a+x|0,R[d++]=v*a+g*r+_|0,R[d++]=n.x2,R[d++]=n.y2,A[d++]=O,R[d++]=f,R[d++]=m*o+y*a+x|0,R[d++]=v*a+g*o+_|0,R[d++]=n.x3,R[d++]=n.y3,A[d++]=O,R[d++]=f):(R[d++]=m*o+y*h+x,R[d++]=v*h+g*o+_,R[d++]=n.x0,R[d++]=n.y0,A[d++]=O,R[d++]=f,R[d++]=m*r+y*h+x,R[d++]=v*h+g*r+_,R[d++]=n.x1,R[d++]=n.y1,A[d++]=O,R[d++]=f,R[d++]=m*r+y*a+x,R[d++]=v*a+g*r+_,R[d++]=n.x2,R[d++]=n.y2,A[d++]=O,R[d++]=f,R[d++]=m*o+y*a+x,R[d++]=v*a+g*o+_,R[d++]=n.x3,R[d++]=n.y3,A[d++]=O,R[d++]=f),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var n=t._uvs,r=e.baseTexture.width,o=e.baseTexture.height;t.tilePosition.x%=r*t.tileScaleOffset.x,t.tilePosition.y%=o*t.tileScaleOffset.y;var a=t.tilePosition.x/(r*t.tileScaleOffset.x),h=t.tilePosition.y/(o*t.tileScaleOffset.y),u=t.width/r/(t.tileScale.x*t.tileScaleOffset.x),l=t.height/o/(t.tileScale.y*t.tileScaleOffset.y);n.x0=0-a,n.y0=0-h,n.x1=1*u-a,n.y1=0-h,n.x2=1*u-a,n.y2=1*l-h,n.x3=0-a,n.y3=1*l-h;var c=t.tint,d=(c>>16)+(65280&c)+((255&c)<<16)+(255*t.worldAlpha<<24),p=this.positions,f=this.colors,m=t.width,g=t.height,y=t.anchor.x,v=t.anchor.y,x=m*(1-y),_=m*-y,b=g*(1-v),T=g*-v,w=this.currentBatchSize*this.vertexSize,C=e.baseTexture.resolution,S=t.worldTransform,P=S.a/C,E=S.b/C,A=S.c/C,R=S.d/C,M=S.tx,O=S.ty;p[w++]=P*_+A*T+M,p[w++]=R*T+E*_+O,p[w++]=n.x0,p[w++]=n.y0,f[w++]=d,p[w++]=i,p[w++]=P*x+A*T+M,p[w++]=R*T+E*x+O,p[w++]=n.x1,p[w++]=n.y1,f[w++]=d,p[w++]=i,p[w++]=P*x+A*b+M,p[w++]=R*b+E*x+O,p[w++]=n.x2,p[w++]=n.y2,f[w++]=d,p[w++]=i,p[w++]=P*_+A*b+M,p[w++]=R*b+E*_+O,p[w++]=n.x3,p[w++]=n.y3,f[w++]=d,p[w++]=i,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,m=!1,g=0,y=this.currentBatchSize;g0&&(v=!1),(c!==r&&!v||f||m)&&(this.renderBatch(c,u,l),l=g,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),m)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,m=new e.Point(c,p),g=new e.Point(d,f),y=i.pointOnSegment(m.x,m.y,.01),v=i.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,m=c.y-p}else{var g=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+g),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,u,l,c,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var m=s;ml&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,O.push(p-b,f-T),O.push(G,N,X,U),O.push(p+b,f+T),O.push(G,N,X,U),O.push(p-b,f-T),O.push(G,N,X,U),k++):(O.push(u,l),O.push(G,N,X,U),O.push(p-(u-p),f-(l-f)),O.push(G,N,X,U));for(c=n[2*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,O.push(p-y,f-v),O.push(G,N,X,U),O.push(p+y,f+v),O.push(G,N,X,U),I.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+m*b)*i+t,(f*-b+m*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?g:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var m=0;mi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=i-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=u)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);l[c]=g,h+=m}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,m=!1;for(u=0;ua;u--){for(l=0;l0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+m+this.letterSpacing)*e,u.push(s+(p.xOffset+m+this.letterSpacing)*e),s+=(p.xAdvance+m+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=m*x+v*y+g*_-x*y-v*g-m*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=m*l+u*y+g*c-l*y-u*g-m*c,O=m*x*c+v*l*y+u*g*_-u*x*y-v*g*c-m*l*_,I=d*x+v*f+p*_-x*f-v*p-d*_,L=m*p+d*y+g*f-p*y-d*g-m*f,k=m*x*f+v*p*y+d*g*_-d*x*y-v*g*f-m*p*_;t.transform(R/A,I/A,M/A,L/A,O/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=m>(b=p>b?p:b)?m:b)?y:b)?x:b,T=_>(T=v>(T=g>(T=f>T?f:T)?g:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,m-h))-1:h<0&&(y=(v=g+h)-(f=Math.min(f,m+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,g),null;if(v>g)return console.warn("Last frame index %s is outside of range [0, %d]",v,g),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var u={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); +(function(){function t(t,e,i,n){var r=t.createTexture();return t.bindTexture(t.TEXTURE_2D,r),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_S,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_WRAP_T,t.CLAMP_TO_EDGE),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MAG_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texParameteri(t.TEXTURE_2D,t.TEXTURE_MIN_FILTER,n===s.scaleModes.LINEAR?t.LINEAR:t.NEAREST),t.texImage2D(t.TEXTURE_2D,0,t.RGBA,e,i,0,t.RGBA,t.UNSIGNED_BYTE,null),r}function e(e,i,s,r,o){var a=e.createFramebuffer(),h=e.createRenderbuffer(),u=null,l=0;return e.activeTexture(e.TEXTURE0+o),e.bindFramebuffer(e.FRAMEBUFFER,a),e.bindRenderbuffer(e.RENDERBUFFER,h),e.framebufferRenderbuffer(e.FRAMEBUFFER,e.DEPTH_STENCIL_ATTACHMENT,e.RENDERBUFFER,this.renderBuffer),u=t(e,i,s,r),e.framebufferTexture2D(e.FRAMEBUFFER,e.COLOR_ATTACHMENT0,e.TEXTURE_2D,u,0),(l=e.checkFramebufferStatus(e.FRAMEBUFFER))!==e.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",n[l]),a.width=i,a.height=s,a.targetTexture=u,a.renderBuffer=h,a}var i=this,s=s||{};s.DisplayObject=function(){this.position=new s.Point(0,0),this.scale=new s.Point(1,1),this.pivot=new s.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new s.Point(0,0),this.worldScale=new s.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new s.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},s.DisplayObject.prototype={constructor:s.DisplayObject,destroy:function(){if(this.children){for(var t=this.children.length;t--;)this.children[t].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(t){if(!t&&!this.parent&&!this.game)return this;var e=this.parent;t?e=t:this.parent||(e=this.game.world);var i,s,n,r,o,a,h=e.worldTransform,u=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),i=this._cr*this.scale.x,s=this._sr*this.scale.x,n=-this._sr*this.scale.y,r=this._cr*this.scale.y,o=this.position.x,a=this.position.y,(this.pivot.x||this.pivot.y)&&(o-=this.pivot.x*i+this.pivot.y*n,a-=this.pivot.x*s+this.pivot.y*r),u.a=i*h.a+s*h.c,u.b=i*h.b+s*h.d,u.c=n*h.a+r*h.c,u.d=n*h.b+r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty):(i=this.scale.x,s=0,n=0,r=this.scale.y,o=this.position.x-this.pivot.x*i,a=this.position.y-this.pivot.y*r,u.a=i*h.a,u.b=i*h.b,u.c=r*h.c,u.d=r*h.d,u.tx=o*h.a+a*h.c+h.tx,u.ty=o*h.b+a*h.d+h.ty),i=u.a,s=u.b,n=u.c;var l=i*(r=u.d)-s*n;if(i||s){var c=Math.sqrt(i*i+s*s);this.worldRotation=s>0?Math.acos(i/c):-Math.acos(i/c),this.worldScale.x=c,this.worldScale.y=l/c}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=l/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=u.tx,this.worldPosition.y=u.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,u,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?c:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,_=x.a,b=x.b,T=x.c,w=x.d,C=x.tx,S=x.ty,P=_*m+T*v+C,E=w*v+b*m+S,A=_*g+T*v+C,R=w*v+b*g+S,M=_*g+T*y+C,I=w*y+b*g+S,O=_*m+T*y+C,L=w*y+b*m+S;c=P,d=E,l=E,u=O<(u=M<(u=A<(u=P)?A:u)?M:u)?O:u,l=L<(l=I<(l=R(c=M>(c=A>c?A:c)?M:c)?O:c,d=L>(d=I>(d=R>d?R:d)?I:d)?L:d}if(f.x=u,f.y=l,f.width=c-u,f.height=d-l,e)for(t.worldTransform=r,n=0;n(f=w>(f=b>(f=x>f?x:f)?b:f)?w:f)?S:f,g=P>(g=C>(g=T>(g=_>g?_:g)?T:g)?C:g)?P:g}var E=this._bounds;return E.x=m,E.width=f-m,E.y=y,E.height=g-y,this._currentBounds=E,E},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,u,l,c,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(u=f.x-d*f.width)+i.crop.width,l=(c=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),u=i.frame.width*-d,l=i.frame.height*(1-p),c=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,_=o.c/m,b=o.d/m,T=o.tx,w=o.ty,C=i.crop.height;if(i.rotated){var S=o.a,P=o.b,E=o.c,A=o.d,R=u,M=h;T=o.c*C+T,w=o.d*C+w,v=6.123233995736766e-17*S-E,x=6.123233995736766e-17*P-A,_=S+6.123233995736766e-17*E,b=P+6.123233995736766e-17*A,i._updateUvsInverted(),h=l,u=c,l=M,c=R}var I=this.colors,O=this.positions,L=t.tint,k=(L>>16)+(65280&L)+((255&L)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(O[g++]=v*u+_*c+T|0,O[g++]=b*c+x*u+w|0,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T|0,O[g++]=b*c+x*h+w|0,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T|0,O[g++]=b*l+x*h+w|0,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T|0,O[g++]=b*l+x*u+w|0,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y):(O[g++]=v*u+_*c+T,O[g++]=b*c+x*u+w,O[g++]=a.x0,O[g++]=a.y0,I[g++]=k,O[g++]=y,O[g++]=v*h+_*c+T,O[g++]=b*c+x*h+w,O[g++]=a.x1,O[g++]=a.y1,I[g++]=k,O[g++]=y,O[g++]=v*h+_*l+T,O[g++]=b*l+x*h+w,O[g++]=a.x2,O[g++]=a.y2,I[g++]=k,O[g++]=y,O[g++]=v*u+_*l+T,O[g++]=b*l+x*u+w,O[g++]=a.x3,O[g++]=a.y3,I[g++]=k,O[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var u=t.tilePosition.x/(a*t.tileScaleOffset.x),l=t.tilePosition.y/(h*t.tileScaleOffset.y),c=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-u,o.y0=0-l,o.x1=1*c-u,o.y1=0-l,o.x2=1*c-u,o.y2=1*d-l,o.x3=0-u,o.y3=1*d-l;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,_=t.anchor.y,b=y*(1-x),T=y*-x,w=v*(1-_),C=v*-_,S=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,E=t.worldTransform,A=E.a/P,R=E.b/P,M=E.c/P,I=E.d/P,O=E.tx,L=E.ty;g[S++]=A*T+M*C+O,g[S++]=I*C+R*T+L,g[S++]=o.x0,g[S++]=o.y0,m[S++]=f,g[S++]=r,g[S++]=A*b+M*C+O,g[S++]=I*C+R*b+L,g[S++]=o.x1,g[S++]=o.y1,m[S++]=f,g[S++]=r,g[S++]=A*b+M*w+O,g[S++]=I*w+R*b+L,g[S++]=o.x2,g[S++]=o.y2,m[S++]=f,g[S++]=r,g[S++]=A*T+M*w+O,g[S++]=I*w+R*T+L,g[S++]=o.x3,g[S++]=o.y3,m[S++]=f,g[S++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,u=0,l=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(c,u,l),l=m,u=0,c=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var _=this.renderSession.offset;e.uniform2f(t.offsetVector,_.x,_.y)}u++}this.renderBatch(c,u,l),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var u=0;u0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}).call(this),function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,u=arguments.length,l=!1;for("boolean"==typeof a&&(l=a,a=arguments[1]||{},h=2),u===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,u=t.radius,l=a+o*n,c=(n*(u*u)-o*(h*h)*(a-r)+h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),d=(n*(u*u)-o*(h*h)*(a-r)-h*u*Math.sqrt(h*h*(o*o)+u*u-l*l-r*r+2*l*r))/(h*h*(o*o)+u*u),p=o*c+a,f=o*d+a,g=new e.Point(c,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(l-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,u=e.bottom,l=0;if(i>=o&&i<=h&&s>=a&&s<=u||n>=o&&n<=h&&r>=a&&r<=u)return!0;if(i=o){if((l=s+(r-s)*(o-i)/(n-i))>a&&l<=u)return!0}else if(i>h&&n<=h&&(l=s+(r-s)*(h-i)/(n-i))>=a&&l<=u)return!0;if(s=a){if((l=i+(n-i)*(a-s)/(r-s))>=o&&l<=h)return!0}else if(s>u&&r<=u&&(l=i+(n-i)*(u-s)/(r-s))>=o&&l<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,u=i.right,l=i.bottom,c=1/0;r[0].setTo(a,h,u,h),r[1].setTo(a,l,u,l),r[2].setTo(a,h,a,l),r[3].setTo(u,h,u,l);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,u=i*n,l=o;lthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var u=0;u0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var u=i.scale.x*h.x+n.x+s.x,l=i.scale.y*h.y+n.y+s.y;else var u=h.x+n.x+s.x,l=h.y+n.y+s.y;if(a.fixedToCamera){var c=a.cameraOffset,d=c.x,p=c.y;this.allowHorizontalDrag&&(c.x=u-i.x),this.allowVerticalDrag&&(c.y=l-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(c.x=Math.round((c.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,c.y=Math.round((c.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(c.x,c.y));var f=c.x-d,g=c.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=u+m),this.allowVerticalDrag&&(a.y=l+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,u,l,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,u,l){return void 0===l&&(l=this.world),l.add(new e.Button(this.game,t,i,s,n,r,o,a,h,u))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,u){return new e.Button(this.game,t,i,s,n,r,o,a,h,u)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,u){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,u)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,u,l){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,u,l),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,u,l,c,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==u&&null!==u||(u=this._size.y),"number"==typeof l&&(this._rotate=l),"number"==typeof c&&(this._anchor.x=c),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-u*this._anchor.y,h,u),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=l=t[0],u=c=t[1];for(var g=s;gl&&(l=d),p>c&&(c=p);f=Math.max(l-h,c-u)}return e.EarCut.earcutLinked(o,a,s,h,u,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,u=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,u,l=t;t.prev!==t.next;)if(h=t.prev,u=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(u.i/s),e.EarCut.removeNode(t),t=u.next,l=u.next;else if((t=u)===l){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,c=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,u,i,s,n),p=e.EarCut.zOrder(l,c,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var u=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),u=e.EarCut.filterPoints(u,u.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(u,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,u,l=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,c=u),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,u=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,u*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var u=0;u=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(b=y-x,T=v-_,b/=M=Math.sqrt(b*b+T*T),T/=M,b*=F,T*=F,I.push(p-b,f-T),I.push(G,N,X,U),I.push(p+b,f+T),I.push(G,N,X,U),I.push(p-b,f-T),I.push(G,N,X,U),k++):(I.push(u,l),I.push(G,N,X,U),I.push(p-(u-p),f-(l-f)),I.push(G,N,X,U));for(c=n[2*(L-2)],d=n[2*(L-2)+1],p=n[2*(L-1)],y=-(d-(f=n[2*(L-1)+1])),v=c-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=F,v*=F,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),O.push(D),s=0;sh?r:h,u=ol?o:l;s.push(a,u,h,u,h,l,a,l);var d=s.length/2;for(c=0;cP?P:S,i.beginPath(),i.moveTo(b,T+S),i.lineTo(b,T+C-S),i.quadraticCurveTo(b,T+C,b+S,T+C),i.lineTo(b+w-S,T+C),i.quadraticCurveTo(b+w,T+C,b+w,T+C-S),i.lineTo(b+w,T+S),i.quadraticCurveTo(b+w,T,b+w-S,T),i.lineTo(b+S,T),i.quadraticCurveTo(b,T,b,T+S),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nC?C:w,i.moveTo(x,_+w),i.lineTo(x,_+T-w),i.quadraticCurveTo(x,_+T,x+w,_+T),i.lineTo(x+b-w,_+T),i.quadraticCurveTo(x+b,_+T,x+b,_+T-w),i.lineTo(x+b,_+w),i.quadraticCurveTo(x+b,_,x+b-w,_),i.lineTo(x+w,_),i.quadraticCurveTo(x,_,x,_+w),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nl*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var u=t+Math.cos(s)*i,l=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(u,l);for(var c=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),_=Math.cos(x),b=-Math.sin(x);c.push((f*_+g*b)*i+t,(f*-b+g*_)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sT?m:T,T=v>T?v:T,T=_>T?_:T,w=y>w?y:w,w=x>w?x:w,w=b>w?b:w,this._bounds.x=C,this._bounds.width=T-C,this._bounds.y=S,this._bounds.height=w-S,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+u:i,s=hn?h+l:n;else if(p===e.CIRCLE)a=r.x,h=r.y,u=r.radius+f/2,l=r.radius+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,u=r.width+f/2,l=r.height+f/2,t=a-ui?a+u:i,s=h-ln?h+l:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var u=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[u.id]=!1,this.textureBuffer=new PIXI.FilterTexture(u,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[u.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(e[a]):u+=this.context.measureText(e[a]).width,this.style.wordWrap&&(u-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),u=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var l=0,c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[c]):Math.ceil(this.context.measureText(h[c]).width),c>0&&(l+=i[c-1]),u=l+d}else for(c=0;c0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?u+=this.measureLine(h[c]):u+=Math.ceil(this.context.measureText(h[c]).width),u+=this.game.math.snapToCeil(u,i)-u}s[a]=Math.ceil(u),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ou){if(0===c){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=u)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);l[c]=m,h+=g}var y=l[c].length?c:c+1,v=l.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,u-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var u,l,c=r.getImageData(0,0,o,h).data,d=c.length,p=4*o,f=0,g=!1;for(u=0;ua;u--){for(l=0;l0?this._maxWidth:null,u=[],l=0;l=h&&r>-1)return{width:o||n,text:i.substr(0,l-(l-r)),end:!1,chars:u};n+=(p.xAdvance+g+this.letterSpacing)*e,u.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:c,chars:u}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=l.width),n+=t.lineHeight*i,e=e.substr(l.text.length+1)}while(!1===l.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,u=0;u0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,u,l){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=u||0,this.offsetY=l||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var c=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var b=this.canvasPadding/this.worldTransform.a,T=this.canvasPadding/this.worldTransform.d,w=(u+l+c)/3,C=(d+p+f)/3,S=u-w,P=d-C,E=Math.sqrt(S*S+P*P);u=w+S/E*(E+b),d=C+P/E*(E+T),P=p-C,l=w+(S=l-w)/(E=Math.sqrt(S*S+P*P))*(E+b),p=C+P/E*(E+T),P=f-C,c=w+(S=c-w)/(E=Math.sqrt(S*S+P*P))*(E+b),f=C+P/E*(E+T)}t.save(),t.beginPath(),t.moveTo(u,d),t.lineTo(l,p),t.lineTo(c,f),t.closePath(),t.clip();var A=g*x+v*y+m*_-x*y-v*m-g*_,R=u*x+v*c+l*_-x*c-v*l-u*_,M=g*l+u*y+m*c-l*y-u*m-g*c,I=g*x*c+v*l*y+u*m*_-u*x*y-v*m*c-g*l*_,O=d*x+v*f+p*_-x*f-v*p-d*_,L=g*p+d*y+m*f-p*y-d*m-g*f,k=g*x*f+v*p*y+d*m*_-d*x*y-v*m*f-g*p*_;t.transform(R/A,O/A,M/A,L/A,I/A,k/A),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nu?y:u,l=v>l?v:l}if(c===-1/0||l===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=c,x.width=u-c,x.y=d,x.height=l-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,u=[],l=0;l(b=y>(b=g>(b=p>b?p:b)?g:b)?y:b)?x:b,T=_>(T=v>(T=m>(T=f>T?f:T)?m:T)?v:T)?_:T;var S=this._bounds;return S.x=w,S.width=b-w,S.y=C,S.height=T-C,this._currentBounds=S,S},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],u=0;u0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,l,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,c,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,_=o,b=o,T=0,w=0;wv);w++)w>=y&&x.addFrame(new e.Frame(T++,_,b,s,n,"")),(_+=s+a)+s>l&&(_=o,b+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var u={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var l;"json"===r?(l=this.getJSON(n),u.font=e.LoaderParser.jsonBitmapFont(l,u.base,o,a,h,this.game.resolution)):(l=this.getXML(n),u.font=e.LoaderParser.xmlBitmapFont(l,u.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=u}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,u){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var l={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,u)};this._cache.image[t]=l,this._resolveURL(i,l)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var u=this._fileList[h];u.loading||u.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var u=t.getElementsByTagName("char"),l=n?n.x:0,c=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var u={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(u)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var u=(h.red-a.red)*n/s+a.red,l=(h.green-a.green)*n/s+a.green,c=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),u=x.r,l=x.g,c=x.b}return e.Color.getColor32(r,u,l,c)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,u=(s-a.green)*o/r+a.green,l=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,u,l)},interpolateRGB:function(t,i,s,n,r,o,a,h){var u=(n-t)*h/a+t,l=(r-i)*h/a+i,c=(o-s)*h/a+s;return e.Color.getColor(u,l,c)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Particles=function(t){this.game=t,this.emitters={},this.ID=0},e.Particles.prototype={add:function(t){return this.emitters[t.id]=t,t},remove:function(t){delete this.emitters[t.id]}},e.Particles.prototype.constructor=e.Particles,e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser-no-physics.map \ No newline at end of file diff --git a/build/custom/phaser-split.js b/build/custom/phaser-split.js index 10f0ef18a..54145c018 100644 --- a/build/custom/phaser-split.js +++ b/build/custom/phaser-split.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:21 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:24:54 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -53,7 +53,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -26213,13 +26213,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -26264,26 +26257,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/custom/phaser-split.map b/build/custom/phaser-split.map index c7b135538..6e52f2569 100644 --- a/build/custom/phaser-split.map +++ b/build/custom/phaser-split.map @@ -1 +1 @@ -{"version":3,"sources":["phaser-split.js"],"names":["root","this","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","postUpdate","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser-split.js"],"names":["root","this","Phaser","VERSION","GAMES","AUTO","CANVAS","WEBGL","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","CIRCLE","RECTANGLE","LINE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","blendModes","NORMAL","ADD","MULTIPLY","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","scaleModes","DEFAULT","LINEAR","NEAREST","PIXI","_UID","AudioBufferSourceNode","prototype","start","noteGrainOn","stop","noteOff","Math","trunc","x","ceil","floor","Function","bind","slice","Array","thisArg","bound","args","boundArgs","concat","call","arguments","target","apply","TypeError","F","proto","isArray","arg","Object","toString","forEach","fun","t","len","length","i","window","Uint32Array","CheapArray","type","constructor","console","log","assert","warn","assign","varArgs","to","hasOwn","hasOwnProperty","index","nextSource","nextKey","Utils","defaults","keys","key","undefined","reverseString","string","split","reverse","join","getProperty","obj","name","parts","_getProperty","setProperties","props","setProperty","value","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","size","dimension","f","px","substr","parseInt","innerWidth","innerHeight","pad","str","dir","padlen","right","left","isPlainObject","nodeType","e","extend","options","src","copy","copyIsArray","clone","deep","mixinPrototype","mixin","replace","mixinKeys","get","set","defineProperty","from","o","childNodes","cloneNode","Circle","y","diameter","_diameter","_radius","circumference","PI","out","Point","u","r","cos","sin","radius","getBounds","Rectangle","setTo","copyFrom","source","copyTo","dest","distance","round","output","contains","circumferencePoint","angle","asDegrees","sample","steps","startAngle","endAngle","PI2","linear","offset","dx","dy","offsetPoint","point","a","top","bottom","equals","b","intersects","degToRad","intersectsRectangle","c","cx","abs","halfWidth","cy","halfHeight","xCornerDist","yCornerDist","intersectsLine","l","returnPoints","h","k","m","end","n","del","x0","sqrt","x1","y0","y1","p0","p1","p0Exists","pointOnSegment","p1Exists","Ellipse","width","height","p","centerX","centerY","normx","normy","Line","x2","y2","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotate","rotateAround","line","asSegment","result","intersectsPoints","reflect","midPoint","centerOn","tx","ty","add","pointOnLine","epsilon","fuzzyEqual","xMin","min","xMax","max","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","push","e2","wrap","a1","a2","b1","b2","c1","c2","denom","uc","ua","ub","rect","empty","bx1","by1","bx2","by2","intersectionWithRectangle","self","edges","edgeIntersection","closestDistance","Infinity","edge","normalAngle","Matrix","d","fromArray","array","matrix","toArray","transpose","Float32Array","pos","newPos","applyInverse","id","translate","scale","tx1","append","d1","identity","identityMatrix","invert","setToPolar","azimuth","subtract","multiply","divide","clampX","clamp","clampY","clip","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","normalize","isZero","limit","expand","dot","cross","perp","rperp","normalRightHand","negative","multiplyAdd","s","interpolate","project","amt","projectUnit","centroid","points","Error","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","sort","det","Polygon","area","_points","closed","flattened","toNumberArray","flatten","inside","j","ix","iy","jx","jy","Number","MAX_VALUE","calculateArea","p2","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","resize","containsRect","intersection","intersectsRaw","tolerance","union","randomX","randomY","getPoint","position","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","containsPoint","volume","sameDimensions","aabb","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","game","world","view","bounds","deadzone","visible","roundPx","atLimit","displayObject","totalInView","lerp","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","_shake","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","camera","Graphics","stage","addChild","preUpdate","follow","style","lerpX","lerpY","helper","w","unfollow","focusOn","setPosition","focusOnXY","shake","force","direction","flash","color","alpha","clear","beginFill","drawRect","endFill","fade","update","updateFX","updateShake","checkBounds","time","elapsedMS","dispatch","rnd","frac","updateTarget","worldPosition","math","setBoundsToWorld","vx","vw","vy","vh","setSize","reset","resetFX","State","make","cache","input","load","sound","state","tweens","particles","physics","init","preload","loadUpdate","loadRender","create","postUpdate","preRender","render","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","current","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","remove","callbackContext","clearWorld","clearCache","checkState","splice","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","destroy","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","context","save","setTransform","restore","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","listener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","has","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","Filter","uniforms","fragmentSrc","passes","shaders","dirty","padding","prevPoint","Date","resolution","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","textureData","repeat","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","addToWorld","anchorX","anchorY","image","Cache","anchor","filters","syncUniforms","Plugin","parent","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","DisplayObjectContainer","disableVisibilityChange","exists","worldTransform","currentRenderOrderID","_hiddenVar","_onChange","_bgColor","g","rgba","transparent","config","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","canvas","Canvas","setUserSelect","setTouchAction","checkVisibility","children","child","updateTransform","worldAlpha","document","hidden","webkitHidden","mozHidden","msHidden","event","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","device","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","on","focusLoss","focusGain","gamePaused","gameResumed","Color","valueToColor","updateColor","removeEventListener","silent","body","hash","removeFromHash","addChildAt","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","z","physicsType","alive","ignoreDestroy","pendingDestroy","classType","Sprite","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","enable","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","indexOf","addMultiple","moveAll","getAt","getChildAt","frame","createMultiple","quantity","callback","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","child2","swapChildren","bringToTop","getIndex","bringChildToTop","sendToBack","sendChildToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","removeChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","filter","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","object","tempDistance","getFurthestFrom","count","countLiving","countDead","getRandom","startIndex","ArrayUtils","getRandomItem","getRandomExists","endIndex","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","removed","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","rotation","World","_definedSize","_width","_height","stateChange","setBounds","sprite","useBounds","_currentBounds","wrapAll","between","Game","renderer","antialias","physicsConfig","multiTexture","preserveDrawingBuffer","clearBeforeRender","isRunning","raf","net","Device","lockRender","stepping","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","powerPreference","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","v","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","enableMultiTexture","WebGLRenderer","contextLost","contextRestored","webGLRendererError","defaultRenderer","_enableMultiTextureToggle","CanvasRenderer","cocoonJS","screencanvas","smoothed","addToDOM","preventDefault","initContext","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","refresh","gl","flush","timeStep","countUpdate","countRender","enableStep","disableStep","step","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","enabled","multiInputOverride","MOUSE_TOUCH_COMBINE","speed","circle","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","CanvasPool","getContext","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","wt","hitTest","localPoint","worldVisible","hitArea","Creature","TileSprite","texture","baseTexture","graphicsData","data","fill","shape","processClickTrampolines","handler","item","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","delta","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","first","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","ignoreChildInput","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","worldScale","checkPixel","trim","crop","_dx","_dy","clearRect","drawImage","getImageData","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","py","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","offsetX","offsetY","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","navigator","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","axes","processAxisChange","triggerCallback","disconnectingIndex","axis","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","B","C","D","E","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","ONE","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","_bounds","Bounds","container","alignTo","BringToTop","Core","install","components","previousPosition","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","removeFromWorld","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","cw","ch","_updateUvs","tint","requiresReTint","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","mask","renderable","transformCallback","transformCallbackContext","filterArea","_mask","_destroyCachedSprite","_destroyTintedTexture","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","setFrame","scaleMode","RenderTexture","setTexture","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","valid","Tilemap","TilemapLayer","Texture","fromCanvas","img","getImage","base","skipRender","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","rotated","tilingTexture","refreshTexture","frameName","Overlap","overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","minX","minY","maxX","maxY","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","spriteBatch","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","graphics","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","renderTexture","addToCache","uuid","addRenderTexture","video","url","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","_renderWebGL","renderSession","WebGLFastSpriteBatch","setContext","shaderManager","setShader","fastShader","begin","_renderCanvas","globalAlpha","displayObjectUpdateTransform","transform","isRotated","shakeX","shakeY","childTransform","roundPixels","skipPool","ctx","smoothProperty","getSmoothingPrefix","imageData","pixels","buffer","ArrayBuffer","BaseTexture","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","fillStyle","fillRect","generateTexture","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","putImageData","processPixel","replaceRGB","r1","g1","r2","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","scaleX","scaleY","newWidth","newHeight","blendMode","getCanvas","cachedTint","tintedTexture","CanvasTinter","getTintedTexture","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","CanvasGraphics","renderGraphics","worldRotation","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","globalCompositeOperation","getTransform","translateX","translateY","skewX","skewY","EarCut","Triangulate","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","triangles","eliminateHoles","earcutLinked","clockwise","last","sum","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","queue","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","ax","ay","bx","by","intersectsPolygon","middleInside","q1","q2","Node","an","bp","WebGLGraphics","stencilBufferLimit","webGLData","projection","shader","primitiveShader","updateGraphics","_webGL","mode","stencilManager","pushStencil","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","indices","popStencil","uniformMatrix3fv","translationMatrix","uniform1f","flipY","uniform2f","projectionVector","offsetVector","uniform3fv","tintColor","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","aVertexPosition","FLOAT","colorAttribute","ELEMENT_ARRAY_BUFFER","indexBuffer","TRIANGLE_STRIP","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","pop","WebGLGraphicsData","rectData","fillColor","fillAlpha","verts","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","dist","indexCount","indexStart","lineColor","lineAlpha","createBuffer","glPoints","bufferData","STATIC_DRAW","glIndicies","Uint16Array","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","renderGraphicsMask","tintR","tintG","tintB","GraphicsData","currentPath","isMask","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","ab","faceNormal","drawPolygon","drawTriangles","vertices","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt","dt2","dt3","t2","t3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","path","canvasBuffer","CanvasBuffer","_cacheAsBitmap","_generateCachedSprite","updateCachedSpriteTexture","_cachedSprite","blendModeManager","setBlendMode","maskManager","pushMask","_filters","filterManager","pushFilter","_filterBlock","currentBlendMode","blendModeWebGL","blendModesWebGL","blendFunc","popFilter","popMask","drawCount","_prevTint","blendModesCanvas","w0","w1","h0","h1","x3","y3","x4","y4","getLocalBounds","matrixCache","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureUnit","_tempMatrix","_glTextures","hasLoaded","textureIndex","_dirty","textureBuffer","FilterTexture","tempMatrix","renderXY","renderRawXY","updateBase","bindFramebuffer","FRAMEBUFFER","frameBuffer","viewport","renderDisplayObject","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","RGBA","UNSIGNED_BYTE","tempCanvas","canvasData","textBounds","colors","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","isCocoonJS","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","updateTexture","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","pivot","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","idx","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","uvs","canvasPadding","drawMode","TRIANGLES","updateAnimation","nextPoint","perpLength","num","_vertexBuffer","_initWebGL","stripShader","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","DYNAMIC_DRAW","aTextureCoord","activeTexture","TEXTURE0","bindTexture","TEXTURE_2D","bufferSubData","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","index1","index2","textureSource","textureWidth","textureHeight","u0","u1","u2","v0","v1","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","tileScale","tileScaleOffset","tilePosition","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","needsUpdate","renderTilingSprite","restartBatch","sessionBlendMode","tw","th","onTextureUpdate","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","isTiling","targetTexture","_powerOf2","pool","removeByCanvas","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","node","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","canHandleAlpha","canUseMultiply","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","require","versions","error","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","tintMethod","tintWithMultiply","tintWithPerPixel","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","HALF_PI","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","isPowerOfTwo","temp","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","pow","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angle1","angle2","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","range","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","p3","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","normal","ary","weightedPick","QuadTree","maxObjects","maxLevels","level","objects","nodes","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","complete","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","tick","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","attributes","autoResolveURL","_cache","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","format","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","compression","extensions","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","compressionAlgorithm","uintArray","byteArray","pvrHeader","pixelFormat","glExtensionFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","subarray","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","multiplier","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","modes","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","Body","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","autoResize","currentBatchedTextures","maxTextures","maxTextureSize","maxTextureAvailableSpace","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","getByKey","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","1","2","3","4","5","6","7","8","9","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","gravity","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularVelocity","angularAcceleration","angularDrag","maxAngular","velocity","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","mass","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","friction","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","Spring","broadphase","SAPBroadphase","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","removeBody","setImpactEvents","impactHandler","off","setPostBroadphaseCallback","postBroadphaseHandler","pairs","bodyA","bodyB","_bodyCallbacks","_bodyCallbackContext","shapeA","shapeB","_groupCallbacks","collisionGroup","_groupCallbackContext","contactEquations","setCollisionGroup","setWorldMaterial","material","shapes","updateBoundsCollisionGroup","setupWall","wall","addShape","Plane","addBody","fixedStepTime","solver","equations","removeAllEquations","cs","constraints","removeConstraint","bodies","springs","removeSpring","cms","contactMaterials","removeContactMaterial","impactCallback","addSpring","spring","RotationalSpring","createDistanceConstraint","localAnchorA","localAnchorB","maxForce","getBody","addConstraint","DistanceConstraint","createGearConstraint","ratio","GearConstraint","createRevoluteConstraint","pivotA","pivotB","worldPivot","RevoluteConstraint","createLockConstraint","LockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","PrismaticConstraint","constraint","addContactMaterial","getContactMaterial","materialA","materialB","setMaterial","createMaterial","Material","createContactMaterial","contact","ContactMaterial","getBodies","getSprings","getConstraints","worldPoint","precision","filterStatic","physicsPosition","query","STATIC","toJSON","createCollisionGroup","bitmask","collisionMask","createSpring","restLength","stiffness","damping","worldA","worldB","localA","localB","createRotationalSpring","restAngle","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","defaultContactMaterial","restitution","applySpringForces","applyDamping","applyGravity","solveConstraints","emitImpactEvent","sleepMode","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","sensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","adjustCenterOfMass","shapeChanged","getVelocityAtPoint","relativePoint","applyImpulse","impulse","applyImpulseLocal","localX","localY","applyForce","setZeroForce","setZeroRotation","setZeroVelocity","setZeroDamping","angularDamping","toLocalFrame","toWorldFrame","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","fixedRotation","updateSpriteTransform","resetDamping","resetMass","clearShapes","removeShape","addCircle","Box","addPlane","addParticle","Particle","addLine","addCapsule","Capsule","fromPolygon","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","aabbNeedsUpdate","generatedShapes","categoryBits","maskBits","isSensor","vec2","polygons","cm","Convex","sub","centerOfMass","updateTriangles","updateCenterOfMass","updateBoundingRadius","loadPolygon","DYNAMIC","KINEMATIC","allowSleep","angularForce","inertia","updateMassProperties","sleepSpeedLimit","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","worldAnchorA","worldAnchorB","LinearSpring","localOffsetB","localAngleB","localAxisA","disableRotationalLock","localPivotA","localPivotB","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","version","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","found","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","skip","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","requiresUpdate","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","ti","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","at","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","positions","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","forceLoaded","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","emptyTexture","DisplayObject","TextureSilentFail","canUseNewCanvasBlendModes","exports","module","define","amd"],"mappings":"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","file":"phaser-split.min.js"} \ No newline at end of file diff --git a/build/custom/phaser-split.min.js b/build/custom/phaser-split.min.js index abc03a26f..bde26ceae 100644 --- a/build/custom/phaser-split.min.js +++ b/build/custom/phaser-split.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new e.Point(u,p),g=new e.Point(d,f),y=i.pointOnSegment(m.x,m.y,.01),v=i.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},e.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},e.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,m=u.y-p}else{var g=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+g),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,i)}o&&(this._frame=e.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,i,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,i.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=M=Math.sqrt(_*_+w*w),w/=M,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var m=0;mi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=i-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,o=e.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,m=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+m+this.letterSpacing)*e,l.push(s+(p.xOffset+m+this.letterSpacing)*e),s+=(p.xAdvance+m+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,o=0,r=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,O=l*x+v*u+c*b-x*u-v*c-l*b,M=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(O/A,E/A,M/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},e.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=e.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+r+a,s,r,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+r+a,n,r,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,m-h))-1:h<0&&(y=(v=g+h)-(f=Math.min(f,m+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,g),null;if(v>g)return console.warn("Last frame index %s is outside of range [0, %d]",v,g),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,o,r,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:-t.velocity.x*Math.sin(r)+t.velocity.y*Math.cos(r)},u={x:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',o.name);continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new e.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); +(function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var o=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,o)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var o=Math.ceil((n=e-t.length)/2),r=n-o;t=new Array(r+1).join(i)+t+new Array(o+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,o,r,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,o=n*Math.cos(i),r=n*Math.sin(i);return t.x=this.x+o*this.radius,t.y=this.y+r*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,o){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),o||(o=[]);for(var r=0;r0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,o=s-e.halfHeight;return n*n+o*o<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,o=t.y,r=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-r*i.end.x,h=t.radius,l=t.radius,c=a+r*n,u=(n*(l*l)-r*(h*h)*(a-o)+h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),d=(n*(l*l)-r*(h*h)*(a-o)-h*l*Math.sqrt(h*h*(r*r)+l*l-c*c-o*o+2*c*o))/(h*h*(r*r)+l*l),p=r*u+a,f=r*d+a,m=new e.Point(u,p),g=new e.Point(d,f),y=i.pointOnSegment(m.x,m.y,.01),v=i.pointOnSegment(g.x,g.y,.01);return y&&v?!s||[m,g]:y?!s||[m]:v?!s||[g]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=o&&e<=r},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),o=Math.round(this.end.y),r=Math.abs(n-i),a=Math.abs(o-s),h=i-a&&(c-=a,i+=h),d=0&&m<=1&&g>=0&&g<=1?r:null}return r},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,o=t.end.y,r=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=r&&i<=h&&s>=a&&s<=l||n>=r&&n<=h&&o>=a&&o<=l)return!0;if(i=r){if((c=s+(o-s)*(r-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(o-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(o-s))>=r&&c<=h)return!0}else if(s>l&&o<=l&&(c=i+(n-i)*(l-s)/(o-s))>=r&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var o=n.edges,r=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;o[0].setTo(a,h,l,h),o[1].setTo(a,c,l,c),o[2].setTo(a,h,a,c),o[3].setTo(l,h,l,c);for(var d,p=0;d=o[p];p++)if(t.intersects(d,!0,r)){var f=t.start.distance(r);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,o){return e.Point.rotate(this,t,i,s,n,o)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&oe.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,o){return void 0===o&&(o=0),!(e>t.right+o||it.bottom+o||ns&&(s=t.x),t.xo&&(o=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,o,r){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,o,r),this.bounds=new e.Rectangle(s,n,o,r),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var o;switch(i){case e.Camera.FOLLOW_PLATFORMER:var r=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-a)/2-.25*a,r,a);break;case e.Camera.FOLLOW_TOPDOWN:o=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:o=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-o)/2,o,o);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,o){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===o&&(o=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=o,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,o){var r,a=this._indexOfListener(t,s);if(-1!==a){if((r=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else r=new e.SignalBinding(this,t,i,s,n,o),this._addBinding(r);return this.memorize&&this._prevParams&&r.execute(this._prevParams),r},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,o){void 0===n&&(n=!0);var r=new this.classType(this.game,t,e,i,s);return r.exists=n,r.visible=n,r.alive=n,this.add(r,!1,o)},e.Group.prototype.createMultiple=function(t,e,i,s,n,o){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var r=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=r;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var o=e.length;return 1===o?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===o?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===o?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===o&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var o=e.Utils.getProperty(t,i);return!(void 0===o&&n||o!==s)},e.Group.prototype.set=function(t,e,i,s,n,o,r){if(void 0===r&&(r=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,o,r)},e.Group.prototype.setAll=function(t,e,i,s,n,o){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===o&&(o=!1),t=t.split("."),n=n||0;for(var r=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,o,r){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,o=0,r=null,a=0;an&&(!i||i.call(s,h,o))&&(n=o,r=h)}return r},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],o=i;o0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var o=this.removeChild(this.children[n]);this.removeFromHash(o),i&&o&&o.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,o){t.forEach(this.wrap,this,e,i,s,n,o)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=r&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=r&&this._localPoint.x=a&&this._localPoint.y=r&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,o="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):o||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],o=0;ot||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,o=this._pointerData[t.id],r=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(u.x,u.y));var f=u.x-d,m=u.y-p}else{var g=i.x-o.camX,y=i.y-o.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+g),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,r.set(a.x,a.y));var f=a.x-d,m=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,r,e,f,m),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,o=!0,r=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),o=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)r=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,o=!this.animations.loadFrameData(h.frameData,i)}o&&(this._frame=e.Rectangle.clone(this.texture.frame)),r||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,o){var r=this.game.plugins.add(e.Weapon);return o&&(r.bulletClass=o),r.createBullets(t,i,s,n),r},image:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,o,r,a){void 0===o&&(o=this.world);var h=new e.Creature(this.game,t,i,s,n,r,a);return o.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,o){return new e.Group(this.game,t,i,s,n,o)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,o,r,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,o,r))},rope:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.Rope(this.game,t,i,s,n,o))},text:function(t,i,s,n,o){return void 0===o&&(o=this.world),o.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,o,r,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,o,r,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return void 0===r&&(r=this.world),r.add(new e.BitmapText(this.game,t,i,s,n,o))},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,o){return new e.Group(this.game,t||null,i,s,n,o)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,o,r){return new e.TileSprite(this.game,t,i,s,n,o,r)},rope:function(t,i,s,n,o){return new e.Rope(this.game,t,i,s,n,o)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,o,r,a,h,l){return new e.Button(this.game,t,i,s,n,o,r,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,o,r,a,h,l){return new e.RetroFont(this.game,t,i,s,n,o,r,a,h,l)},bitmapText:function(t,i,s,n,o,r){return new e.BitmapText(this.game,t,i,s,n,o,r)},tilemap:function(t,i,s,n,o){return new e.Tilemap(this.game,t,i,s,n,o)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var o=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,o),o},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var o=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,o),o},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,o){i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,o)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,o,r,a,h,l,c){i=i||0,s=s||0,n=n||null,o=o||null,r=r||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==o&&this.onInputUp.add(o,r),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",o="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[o]="string"==typeof s?s:""):(this[n]=null,this[o]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,o,r,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,o),this.setStateSound("Down",i,s),this.setStateSound("Up",r,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=r<<24|o<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|o<<8|r,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,o){return this.setPixel32(t,e,i,s,n,255,o)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,o){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,o)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,o=1,r=!1;1===t?(o=-1,n=this.height):3===t&&(o=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=o)>=this.height||n<=0)&&(r=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=o)>=this.width||s<=0)&&(r=!0))}while(0===i.a&&!r);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,o){n=n||1,o=o||1;var r=this.game.add.image(t,e,this);return r.anchor.set(i,s),r.scale.set(n,o),r},copy:function(t,i,s,n,o,r,a,h,l,c,u,d,p,f,m,g,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==r&&null!==r||(r=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),o&&(this._size.y=o),void 0!==r&&null!==r||(r=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof m&&(this._alpha.current=m),void 0===g&&(g=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,g&&(this.op=g),y&&(r|=0,a|=0),v.translate(r,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var o=n.tx,r=n.ty;t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,r+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(o|=0,r|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,o,r),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,o,r){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,o,r)},draw:function(t,e,i,s,n,o,r){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,o,r)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var o=this.context;return o.fillStyle=o.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),o.save(),o.translate(this._pos.x,this._pos.y),o.rotate(t.angle),o.fillRect(0,0,n,i.height),o.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var m=s;mc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(r,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,o){var r,a,h,l=0;for(r=i,a=s-n;r0)for(r=i;r=i;r-=n)h=e.EarCut.insertNode(r,t[r],t[r+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,o,r,a){if(t){!a&&r&&e.EarCut.indexCurve(t,n,o,r);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,r?e.EarCut.isEarHashed(t,n,o,r):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,o,r,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,o,r):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,o,r,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var o=t.next.next;o!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,o.x,o.y)&&e.EarCut.area(o.prev,o,o.next)>=0)return!1;o=o.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var o=t.prev,r=t,a=t.next;if(e.EarCut.area(o,r,a)>=0)return!1;for(var h=o.xr.x?o.x>a.x?o.x:a.x:r.x>a.x?r.x:a.x,u=o.y>r.y?o.y>a.y?o.y:a.y:r.y>a.y?r.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(o.x,o.y,r.x,r.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var o=n.prev,r=n.next.next;e.EarCut.intersects(o,n,n.next,r)&&e.EarCut.locallyInside(o,r)&&e.EarCut.locallyInside(r,o)&&(i.push(o.i/s),i.push(n.i/s),i.push(r.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=r),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,o,r){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,o,r),void e.EarCut.earcutLinked(l,i,s,n,o,r)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var o,r,a,h,l,c=[];for(o=0,r=i.length;o=n.next.y){var h=n.x+(r-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=o&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(rs.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var o=t;do{null===o.z&&(o.z=e.EarCut.zOrder(o.x,o.y,i,s,n)),o.prevZ=o.prev,o.nextZ=o.next,o=o.next}while(o!==t);o.prevZ.nextZ=null,o.prevZ=null,e.EarCut.sortLinked(o)},e.EarCut.sortLinked=function(t){var e,i,s,n,o,r,a,h,l=1;do{for(i=t,t=null,o=null,r=0;i;){for(r++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),o?o.nextZ=n:t=n,n.prevZ=o,o=n;i=s}o.nextZ=null,l*=2}while(r>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-r)*(s-a)-(i-r)*(e-a)>=0&&(i-r)*(o-a)-(n-r)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,o=(t.y+e.y)/2;do{i.y>o!=i.next.y>o&&n<(i.next.x-i.x)*(o-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),o=t.next,r=i.prev;return t.next=i,i.prev=t,s.next=o,o.prev=s,n.next=s,s.prev=n,r.next=n,n.prev=r,n},e.EarCut.insertNode=function(t,i,s,n){var o=new e.EarCut.Node(t,i,s);return n?(o.next=n.next,o.prev=n,n.next.prev=o,n.next=o):(o.prev=o,o.next=o),o},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,o=i.projection,r=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,r)||(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,r))),a.lineWidth>0&&(r=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,r))):(r=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,r):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,r):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,r)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=M=Math.sqrt(_*_+w*w),w/=M,_*=B,w*=B,I.push(p-_,f-w),I.push(G,N,X,U),I.push(p+_,f+w),I.push(G,N,X,U),I.push(p-_,f-w),I.push(G,N,X,U),L++):(I.push(l,c),I.push(G,N,X,U),I.push(p-(l-p),f-(c-f)),I.push(G,N,X,U));for(u=n[2*(R-2)],d=n[2*(R-2)+1],p=n[2*(R-1)],y=-(d-(f=n[2*(R-1)+1])),v=u-p,y/=M=Math.sqrt(y*y+v*v),v/=M,y*=B,v*=B,I.push(p-y,f-v),I.push(G,N,X,U),I.push(p+y,f+v),I.push(G,N,X,U),E.push(D),s=0;sh?o:h,l=rc?r:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(o.fillColor||0===o.fillColor)&&(i.globalAlpha=o.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),o.lineWidth&&(i.globalAlpha=o.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((r>>8&255)/255*i*255<<8)+(255&r)/255*s*255,o._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,o,r){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=o,this.shape=r,this.type=r.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,o=new e.Point,r=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,o,r){if(s===n)return this;void 0===o&&(o=!1),void 0===r&&(r=40),!o&&n<=s?n+=2*Math.PI:o&&s<=n&&(s+=2*Math.PI);var a=o?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*r;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;o&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),m=Math.sin(d),g=h-1,y=g%1/g,v=0;v<=g;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+m*_)*i+t,(f*-_+m*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,o){return this.drawShape(new e.RoundedRectangle(t,i,s,n,o)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?g:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=o.x,h=o.y,l=o.radius+f/2,c=o.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=o.x,h=o.y,l=o.width+f/2,c=o.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{r=o.points;for(var m=0;mi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var g=this.boundsPadding;this._localBounds.x=t-g,this._localBounds.width=i-t+2*g,this._localBounds.y=s-g,this._localBounds.height=n-s+2*g},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,o,r,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===o&&(o=e.scaleModes.DEFAULT),void 0===r&&(r=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=r,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=o,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=o.fontSize+this.style.strokeThickness+this.padding.y,f=p*r,m=this._lineSpacing;m<0&&Math.abs(m)>p&&(m=-p),0!==m&&(f+=m>0?m*e.length:m*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var g,y;for(this._charCount=0,a=0;a0&&(y+=m*a),"right"===this.style.align?g+=n-s[a]:"center"===this.style.align&&(g+=(n-s[a])/2),this.autoRound&&(g=Math.round(g),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],g,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],g,y):this.renderTabLine(e[a],g,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],g,y):this.renderTabLine(e[a],g,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),o=this.style.tabs,r=0;if(Array.isArray(o))for(var a=0,h=0;h0&&(a+=o[h-1]),r=e+a,s?this.context.fillText(n[h],r,i):this.context.strokeText(n[h],r,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var o=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(o.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(o.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(o)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),o=n.length,r=0;rl){if(0===u){for(var m=p;m.length&&(m=m.slice(0,-1),!((f=e.measureText(m).width)<=l)););if(!m.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var g=d.substr(m.length);c[u]=g,h+=m}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[r+1]=v+" "+(n[r+1]||""),o=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(r>0&&(e+="\n"),e+=o[r]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=o[r]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var o=this.textBounds.x,r=this.textBounds.y;"right"===this.style.boundsAlignH?o+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(o+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?r+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(r+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-o,this.pivot.y=-r}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,o=e.Text.fontPropertiesContext;o.font=t;var r=Math.ceil(o.measureText(s).width),a=Math.ceil(o.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=r,n.height=h,o.fillStyle="#f00",o.fillRect(0,0,r,h),o.font=t,o.textBaseline="alphabetic",o.fillStyle="#000",o.fillText(s,0,a),!o.getImageData(0,0,r,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=o.getImageData(0,0,r,h).data,d=u.length,p=4*r,f=0,m=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&o>-1)return{width:r||n,text:i.substr(0,c-(c-o)),end:!1,chars:l};n+=(p.xAdvance+m+this.letterSpacing)*e,l.push(s+(p.xOffset+m+this.letterSpacing)*e),s+=(p.xAdvance+m+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),o=0;othis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var o=0,r=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,o,r,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==r&&null!==r||(r=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=r,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,o){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!o,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),o=n.length;o--;)n[o].x+=i,n[o].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,o,r){this.points=r||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,o=o||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),r&&(this.vertices=new Float32Array(4*r.length),this.uvs=new Float32Array(4*r.length),this.colors=new Float32Array(2*r.length),this.indices=new Uint16Array(2*r.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,o),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,o=0,r=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,k=Math.sqrt(C*C+S*S);l=T+C/k*(k+_),d=P+S/k*(k+w),S=p-P,c=T+(C=c-T)/(k=Math.sqrt(C*C+S*S))*(k+_),p=P+S/k*(k+w),S=f-P,u=T+(C=u-T)/(k=Math.sqrt(C*C+S*S))*(k+_),f=P+S/k*(k+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var A=m*x+v*y+g*b-x*y-v*g-m*b,O=l*x+v*u+c*b-x*u-v*c-l*b,M=m*c+l*y+g*u-c*y-l*g-m*u,I=m*x*u+v*c*y+l*g*b-l*x*y-v*g*u-m*c*b,E=d*x+v*f+p*b-x*f-v*p-d*b,R=m*p+d*y+g*f-p*y-d*g-m*f,L=m*x*f+v*p*y+d*g*b-d*x*y-v*g*f-m*p*b;t.transform(O/A,E/A,M/A,R/A,I/A,L/A),t.drawImage(r,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,o,r,a,h,l=[],c=0;c(_=y>(_=m>(_=p>_?p:_)?m:_)?y:_)?x:_,w=b>(w=v>(w=g>(w=f>w?f:w)?g:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,o=e.CanvasPool.getFirst();if(-1===o){var r={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(r),n=r.canvas}else e.CanvasPool.pool[o].parent=t,n=e.CanvasPool.pool[o].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var o=i.getImageData(1,0,1,1);s.canHandleAlpha=o.data[0]===n.data[0]&&o.data[1]===n.data[1]&&o.data[2]===n.data[2]&&o.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,o){i=i||256,s=s||256;var r=o?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(r.id=n),r.width=i,r.height=s,r.style.display="block",r},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,o,r){return t.setTransform(s,o,r,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,o=i,r=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,o,r){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,o,r)},e.QuadTree.prototype={reset:function(t,e,i,s,n,o,r){this.maxObjects=n||10,this.maxLevels=o||4,this.level=r||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",o=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(o.test(s))n=void 0!==e&&null!==e?s.replace(o,"$1"+t+"="+e+"$2$3"):s.replace(o,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var r=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+r+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,o,r,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,o,r,a)),n&&this.start(),this)},from:function(t,i,s,n,o,r,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,o,r,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],o=this.vEnd[s];Array.isArray(o)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,o,this.value):this.parent.target[s]=n+(o-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var o in this.vEnd){var r=this.vStart[o],a=this.vEnd[o];Array.isArray(a)?n[o]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[o]=r+(a-r)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,o,r){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,o,r);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,o,r,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=o,this.callbackContext=r,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,o){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===o&&(o=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,o,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,o,r,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(o),this.delay=1e3/r,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,o){void 0===n&&(n="");var r=[],a="";if(i=s;h--)a=t+(a="number"==typeof o?e.Utils.pad(h.toString(),o,"0",1):h.toString())+n,r.push(a);return r},e.Frame=function(t,i,s,n,o,r){this.index=t,this.x=i,this.y=s,this.width=n,this.height=o,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=r,this.centerX=Math.floor(n/2),this.centerY=Math.floor(o/2),this.distance=e.Math.distance(0,0,n,o),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=o,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,o,r){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=o,this.spriteSourceSizeH=r)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(o>-1&&(v=(f=o)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+r+a,s,r,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+r+a,n,r,a),0===m)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,m-h))-1:h<0&&(y=(v=g+h)-(f=Math.min(f,m+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,g),null;if(v>g)return console.warn("Last frame index %s is outside of range [0, %d]",v,g),null;for(var x=new e.FrameData,b=r,_=r,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=r,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,o=i.frames,r=0;r tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var o=s in e.LoaderParser?e.LoaderParser[s](n):n,r={key:t,url:i,data:o,base:new PIXI.BaseTexture(o,null,this.game.resolution),frame:new e.Frame(0,0,0,o.width,o.height,t),frameData:new e.FrameData,fileFormat:s};return r.frameData.addFrame(new e.Frame(0,0,0,o.width,o.height,i)),this._cache.image[t]=r,this._resolveURL(i,r),r},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var o=!1;n&&(o=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:o,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,o,r,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===r&&(r=0),void 0===a&&(a=0),h.font="json"===o?e.LoaderParser.jsonBitmapFont(n,h.base,r,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,r,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,o,r,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===r&&(r=0),void 0===a&&(a=0);var c;"json"===o?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,r,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,r,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,o,r,a,h,l){void 0===r&&(r=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:o,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,o,r,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,o){var r={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};o===e.Loader.TEXTURE_ATLAS_XML_STARLING?r.frameData=e.AnimationParser.XMLData(this.game,n,t):o===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?r.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?r.frameData=e.AnimationParser.JSONData(this.game,n,t):r.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=r,this._resolveURL(i,r)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var o=n[i];if(!o||!s)return o;for(var r in o)if((r=o[r]).fixtureKey===s)return r;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,o){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!o)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+o}var r={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)r[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(r),this._totalFileCount++):this._fileList[h]=r}else-1===h&&(this._fileList.push(r),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var o=0;o=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&o.status<=599?n.call(r,t,o):s.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},o.onerror=function(){try{return n.call(r,t,o)}catch(e){r.hasLoaded?window.console&&console.error(e):r.asyncComplete(t,e.message||"Exception")}},t.requestObject=o,t.requestUrl=e,o.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":o=JSON.parse(i.responseText);t.data=o||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var o=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,o,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,o){return this.xmlBitmapFont(t,e,i,s,n,o)},xmlBitmapFont:function(t,e,i,s,n,o){null==o&&(o=1);var r={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];r.font=a.getAttribute("face"),r.size=parseInt(a.getAttribute("size"),10),r.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,r.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(o>=0&&o<=3?e="PVRTC":o>=7&&o<=11?e="S3TC":6===o&&(e="ETC1"),o){case 0:r=35841;break;case 1:r=35843;break;case 2:r=35840;break;case 3:r=35842;break;case 6:r=36196;break;case 7:r=33777;break;case 9:r=33778;break;case 11:r=33779;break;default:r=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:o,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:r}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,o=i[n],r=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(r)>=0){switch(r){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:o,textureData:e.subarray(4*(n+1),o+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,o){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===o&&(o=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,o&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,o){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===o&&(o=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,o&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),o=n.width!==i||n.height!==s,r=this.updateOrientationState();(o||r)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(o)):(t.width=Math.floor(r),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},o=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:o}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:o})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,o=e;o0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;o--)s[n][o]=t[o][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var o=Math.min(t,i,s),r=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(r+o)/2,r!==o){var a=r-o;n.s=n.l>.5?a/(2-r-o):a/(r+o),r===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,o,r,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:o||0,s:r||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,o){return void 0===n&&(n=255),void 0===o&&(o="#"),"#"===o?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),o=parseInt(s[2],16),r=parseInt(s[3],16);i?(i.r=n,i.g=o,i.b=r):i=e.Color.createColor(n,o,r)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,o,r){void 0===o&&(o=255),void 0===r&&(r=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===r)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===r){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),m=f.h-p.h;if(p.h>f.h){var g=f.h;f.h=p.h,p.h=g,m=-m,n=s-n}m>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),m<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(o,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,o,r){var a=e.Color.getRGB(t),h=(i-a.red)*r/o+a.red,l=(s-a.green)*r/o+a.green,c=(n-a.blue)*r/o+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,o,r,a,h){var l=(n-t)*h/a+t,c=(o-i)*h/a+i,u=(r-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],o=t[Math.ceil(s)];return this.linear(n,o,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,o,r)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,o){return void 0===o&&(o=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>o?i=o:i<-o&&(i=-o),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,o){if(!Array.isArray(t)&&Array.isArray(e))for(r=0;ra.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,o,r)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,o)}}}}},collideGroupVsGroup:function(t,i,s,n,o,r){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,o=i.center.y-t.center.y,r=Math.atan2(o,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(r)+t.velocity.y*Math.sin(r),y:-t.velocity.x*Math.sin(r)+t.velocity.y*Math.cos(r)},u={x:i.velocity.x*Math.cos(r)+i.velocity.y*Math.sin(r),y:-i.velocity.x*Math.sin(r)+i.velocity.y*Math.cos(r)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(r)-c.y*Math.sin(r))*t.bounce.x,t.velocity.y=(c.y*Math.cos(r)+d*Math.sin(r))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(r)-u.y*Math.sin(r))*i.bounce.x,i.velocity.y=(u.y*Math.cos(r)+p*Math.sin(r))*i.bounce.y),Math.abs(r)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(r),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(r)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(r),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(r)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,o=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-o*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=o-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.x=h+r*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,o=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-o*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=o-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var r=Math.sqrt(o*o*e.mass/t.mass)*(o>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(r+a);r-=h,a-=h,t.velocity.y=h+r*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,o,r){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var o=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(o,s),o},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleBetween(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var o=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(o,i),t.body.maxVelocity.setTo(s,n),o},accelerateToXY:function(t,e,i,s,n,o){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===o&&(o=1e3);var r=this.angleToXY(t,e,i);return t.body.acceleration.setTo(r,s),t.body.maxVelocity.setTo(n,o),r},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,o;return s?(n=t.centerX-e.centerX,o=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,o=t.world.y-e.world.y):(n=t.x-e.x,o=t.y-e.y),Math.sqrt(n*n+o*o)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,o=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+o*o)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,o=null,r=0,a=e.length;rn&&(o=h,n=l)}return o},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var o;return void 0===s?(o=this.angle,s=this.game.math.radToDeg(o)):o=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,o,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(o)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(o)*n):this.velocity.setToPolar(o,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,o){if(t.body){var r=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==r.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,o,r,a,h){void 0===n&&(n=this._boundsLeft),void 0===o&&(o=this._boundsRight),void 0===r&&(r=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(o,"right",t+i,e,-1.5707963267948966,h),this.setupWall(r,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=o,this._boundsTop=r,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,o){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),o&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,o,r){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,o,r));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,o));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,o,r,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,o,r,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var o=[this.pxmi(t.x),this.pxmi(t.y)],r=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?r.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?r.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&r.push(i[a].body.data);return this.world.hitTest(o,r,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(o=u.x*u.width,r=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(o,r,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,o){i=i||null,s=s||0,n=n||0,void 0===o&&(o=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:o}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(o=0;o-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var o=this.data.shapes.length-1;o>=0;o--)this.data.shapes[o].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(o=0;o=0;o--)this.data.shapes[o].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,o,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1),t.beginFill(a),t.drawRect(e-n/2,i-o/2,n,o)},drawCircle:function(t,e,i,s,n,o,r){void 0===r&&(r=1),void 0===o&&(o=16777215),t.lineStyle(r,0,1),t.beginFill(o,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,o,r,a){var h,l,c,u,d,p,f,m,g,y,v;if(void 0===o&&(o=1),void 0===s&&(s=0),r){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],m=d[0],v=d[1],t.lineStyle(o,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(m,-v),t.drawCircle(f,-y,2*o),l++;return t.lineStyle(o,0,1),t.drawCircle(a[0],a[1],2*o)}for(t.lineStyle(o,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],g=c[1],0===l?t.moveTo(p,-g):t.lineTo(p,-g),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var o,r,a,h,l,c,u,d,p,f,m;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),r=null,a=null,o=0;o2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,o,r,a,h,l){var c,u;void 0===o&&(o=1),void 0===s&&(s=16777215),t.lineStyle(o,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,o,r,a,h){void 0===h&&(h=1),void 0===r&&(r=0),t.lineStyle(h,r,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-o),t.drawCircle(n/2*l+e,n/2*c+i,2*-o),t.endFill(),t.lineStyle(h,r,0),t.beginFill(a,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i),t.lineTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.endFill(),t.lineStyle(h,r,1),t.moveTo(-n/2*l+o*c+e,-n/2*c+o*l+i),t.lineTo(n/2*l+o*c+e,n/2*c+o*l+i),t.moveTo(-n/2*l-o*c+e,-n/2*c-o*l+i),t.lineTo(n/2*l-o*c+e,n/2*c-o*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,o,r,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===o&&(o=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:o};void 0!==r&&null!==r&&(c.worldAnchorA=[t.pxm(r[0]),t.pxm(r[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,o){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===o&&(o=1),s&&(s=t.pxm(s));var r={restAngle:s,stiffness:n,damping:o};this.data=new p2.RotationalSpring(e,i,r),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,o,r){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],maxForce:r};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var o={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,o)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,o){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var r={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:o};p2.LockConstraint.call(this,e,i,r)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,o,r,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===o&&(o=[0,0]),void 0===r&&(r=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:o=[t.pxmi(o[0]),t.pxmi(o[1])],localAxisA:r,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,o,r){void 0===o&&(o=Number.MAX_VALUE),void 0===r&&(r=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],r&&(r=[t.pxmi(r[0]),t.pxmi(r[1])]);var a={worldPivot:r,localPivotA:i,localPivotB:n,maxForce:o};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,o,r){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===o&&(o=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|o,this.properties=r||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,o,r){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,o,r);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,o){return void 0===o&&(o=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,o)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,o,r,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===o&&(o=0),void 0===r&&(r=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,o,r,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=o,p=o,f=0,m=0,g=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[o].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[o].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[o].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",o));var r=n.add(new e.TilemapLayer(this.game,this,o,i,s));return this.enableDebug&&console.groupEnd(),r},createBlankLayer:function(t,i,s,n,o,r){void 0===r&&(r=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*o,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,r.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var o=t;o<=e;o++)this.setCollisionByIndex(o,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,o=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var o=0;o0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,o){return o=this.getLayer(o),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,o)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(o=this.layers[s].height-1;o>=0;o--)for(r=this.layers[s].width-1;r>=0;r--)if(this.layers[s].data[o][r].index===t){if(n===e)return this.layers[s].data[o][r];n++}}else for(var o=0;o=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var o=e;o1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,o){n|=0,o|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,o),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var o=t.coordinatesOnLine(e),r=[],a=0;a=0;g++,v--,f+=c){g>=h&&(g-=h);var _=this.layer.data[g];for(m=b,y=n-i,p=x;y>=0;m++,y--,p+=l){m>=a&&(m-=a);var w=_[m];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(r.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(r.save(),r.translate(p+w.centerX,f+w.centerY),r.rotate(w.rotation),w.flipped&&r.scale(-1,1),P.draw(r,-w.centerX,-w.centerY,T),r.restore()):P.draw(r,p,f,T):this.debugSettings.missingImageFill&&(r.fillStyle=this.debugSettings.missingImageFill,r.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(r.fillStyle=this.debugSettings.debuggedTileOverfill,r.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,o=this.canvas.height,r=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-r,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=o+e,u=o-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/r),l=Math.floor((l+i)/r),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*r-i,0,(l-h+1)*r,o);var d=Math.floor((0+s)/a),p=Math.floor((o-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/r),m=Math.floor((n-1+i)/r);this.renderRegion(i,s,f,c,m,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,o=this._mc.tileHeight,r=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/o),l=Math.floor((s-1+e)/o);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,r,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,o=this._mc,r=o.scrollX-s,a=o.scrollY-n;if(t||0!==r||0!==a||o.renderWidth!==e||o.renderHeight!==i)return this.context.save(),o.scrollX=s,o.scrollY=n,o.renderWidth===e&&o.renderHeight===i||(o.renderWidth=e,o.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(r)+Math.abs(a)=0;s++,o--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=g-m,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,o,r){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===o&&(o=10),void 0===r&&(r=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,o,r);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var o=this.getEmptyData(),r=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;o.data=h,delete o.encoding}else if(o.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',o.name);continue}D={name:o.name,x:o.x,y:o.y,width:o.width,height:o.height,widthInPixels:o.width*t.tilewidth,heightInPixels:o.height*t.tileheight,alpha:o.opacity,offsetX:o.offsetx,offsetY:o.offsety,visible:o.visible,properties:{},indexes:[],callbacks:[],bodies:[]};o.properties&&(D.properties=o.properties);for(var c,u,d,p=0,f=[],m=[],g=0,a=o.data.length;g536870912)switch(k>2147483648&&(k-=2147483648,d+=4),k>1073741824&&(k-=1073741824,d+=2),k>536870912&&(k-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}k>0?((B=new e.Tile(D,k,p,m.length,t.tilewidth,t.tileheight)).rotation=c,B.flipped=u,0!==d&&(B.flippedVal=d),f.push(B)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(D,-1,p,m.length,t.tilewidth,t.tileheight)),++p===o.width&&(m.push(f),p=0,f=[])}D.data=m,s.push(D)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,o){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===o&&(o=null);var r,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var o=0;o1&&(r=o.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=o.between(this.top,this.bottom)),this.resetParticle(n,r,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,o){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===o&&(o=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var r={v:t},a=this.game.make.tween(r).to({v:i},s,n);a.yoyo(o),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,o,r,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===o&&(o=0),void 0===r&&(r=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,o>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},o,r);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,o){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var r=this.bulletSpeed;0!==this.bulletSpeedVariance&&(r+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(r+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==o&&(this.fireFrom.y+=o);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*r:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*r:(c=Math.cos(this.game.math.degToRad(l))*r,u=Math.sin(this.game.math.degToRad(l))*r);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var m=this.fireRate;(m+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(m=0),f=this.game.time.now+m}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,r),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,o){e.Sprite.call(this,t,i,s,n,o),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}).call(this); //# sourceMappingURL=phaser-split.map \ No newline at end of file diff --git a/build/custom/pixi.js b/build/custom/pixi.js index 5667619dc..b67e702af 100644 --- a/build/custom/pixi.js +++ b/build/custom/pixi.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:26 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:25:00 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -5007,6 +5007,15 @@ PIXI.WebGLSpriteBatch.prototype.end = function () PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) { var texture = sprite.texture; + var baseTexture = texture.baseTexture; + var gl = this.gl; + if (PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + baseTexture.textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] = baseTexture; + } // They provided an alternative rendering matrix, so use it var wt = sprite.worldTransform; @@ -5179,7 +5188,16 @@ PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) PIXI.WebGLSpriteBatch.prototype.renderTilingSprite = function (sprite) { var texture = sprite.tilingTexture; + var baseTexture = texture.baseTexture; + var gl = this.gl; var textureIndex = sprite.texture.baseTexture.textureIndex; + if (PIXI.WebGLRenderer.textureArray[textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[textureIndex] = baseTexture; + } // check texture.. if (this.currentBatchSize >= this.size) @@ -5411,7 +5429,7 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () } // - if ((currentBaseTexture !== nextTexture && !skip) || + if (/* (currentBaseTexture !== nextTexture && !skip) || */ blendSwap || shaderSwap) { diff --git a/build/custom/pixi.map b/build/custom/pixi.map index 495dc200e..7180b81bb 100644 --- a/build/custom/pixi.map +++ b/build/custom/pixi.map @@ -1 +1 @@ -{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file +{"version":3,"sources":["pixi.js"],"names":["_CreateEmptyTexture","gl","width","height","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","this","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","console","error","_fbErrors","targetTexture","root","DisplayObject","position","Point","scale","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldPosition","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","prototype","constructor","destroy","children","i","length","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","p","world","a","b","c","d","tx","ty","pt","wt","Math","PI2","rotationCache","sin","cos","x","y","determ","r","sqrt","acos","s","HALF_PI","transformCallback","call","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","apply","toLocal","from","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","max","ceil","resize","baseTexture","_enableMultiTextureToggle","textureIndex","undefined","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","Object","defineProperties","get","set","value","worldVisible","item","mask","isMask","Array","isArray","passes","filterPasses","j","push","_filterBlock","target","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","create","addChild","child","addChildAt","index","removeChild","splice","Error","swapChildren","child2","index1","getChildIndex","index2","indexOf","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","stop","maskManager","pushMask","start","popMask","popFilter","defineProperty","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","temp","crop","currentBlendMode","context","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","dx","trim","dy","shakeX","shakeY","cw","ch","rotated","e","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","cx","cy","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","window","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","key","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","type","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","id","textureData","data","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","w","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","offset","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","warn","stage","contextLost","viewport","clearColor","_bgColor","g","clear","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","end","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","reverse","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","level","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","mode","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","pop","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","size","vertexSize","numVerts","numIndices","vertices","ArrayBuffer","positions","Float32Array","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","h","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","exports","module","define","amd"],"mappings":"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","file":"pixi.min.js"} \ No newline at end of file diff --git a/build/custom/pixi.min.js b/build/custom/pixi.min.js index c293f059b..e9386f34e 100644 --- a/build/custom/pixi.min.js +++ b/build/custom/pixi.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 PIXI Build - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var c=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/c):-Math.acos(r/c),this.worldScale.x=c,this.worldScale.y=u/c}else if(s||o){var d=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/d):-Math.acos(s/d)),this.worldScale.x=u/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.bringChildToTop=function(e){if(e.parent===this)return this.setChildIndex(e,this.children.length-1)},i.DisplayObjectContainer.prototype.sendChildToBack=function(e){if(e.parent===this)return this.setChildIndex(e,0)},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?c:n,d=d>h?d:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,v=x.y,T=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*T+b,M=y*T+_*g+A,C=E*p+S*T+b,L=y*T+_*p+A,B=E*p+S*v+b,P=y*v+_*p+A,w=E*g+S*v+b,U=y*v+_*g+A;c=R,d=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(c=B>(c=C>c?C:c)?B:c)?w:c,d=U>(d=P>(d=L>d?L:d)?P:d)?U:d}if(x.x=l,x.y=u,x.width=c-l,x.height=d-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=v,M.height=p-v,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var s=r._uvs;if(s){var o,a,n,h,l=e.anchor.x,u=e.anchor.y;if(r.trim){var c=r.trim;o=(a=c.x-l*c.width)+r.crop.width,n=(h=c.y-u*c.height)+r.crop.height}else o=r.frame.width*(1-l),a=r.frame.width*-l,n=r.frame.height*(1-u),h=r.frame.height*-u;var d=this.currentBatchSize*this.vertexSize,f=r.baseTexture.resolution,x=r.baseTexture.textureIndex,p=i.a/f,g=i.b/f,v=i.c/f,T=i.d/f,m=i.tx,E=i.ty,_=r.crop.height;if(r.rotated){var S=i.a,y=i.b,b=i.c,A=i.d,R=a,M=o;m=i.c*_+m,E=i.d*_+E,p=6.123233995736766e-17*S-b,g=6.123233995736766e-17*y-A,v=S+6.123233995736766e-17*b,T=y+6.123233995736766e-17*A,r._updateUvsInverted(),o=n,a=h,n=M,h=R}var C=this.colors,L=this.positions,B=e.tint,P=(B>>16)+(65280&B)+((255&B)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(L[d++]=p*a+v*h+m|0,L[d++]=T*h+g*a+E|0,L[d++]=s.x0,L[d++]=s.y0,C[d++]=P,L[d++]=x,L[d++]=p*o+v*h+m|0,L[d++]=T*h+g*o+E|0,L[d++]=s.x1,L[d++]=s.y1,C[d++]=P,L[d++]=x,L[d++]=p*o+v*n+m|0,L[d++]=T*n+g*o+E|0,L[d++]=s.x2,L[d++]=s.y2,C[d++]=P,L[d++]=x,L[d++]=p*a+v*n+m|0,L[d++]=T*n+g*a+E|0,L[d++]=s.x3,L[d++]=s.y3,C[d++]=P,L[d++]=x):(L[d++]=p*a+v*h+m,L[d++]=T*h+g*a+E,L[d++]=s.x0,L[d++]=s.y0,C[d++]=P,L[d++]=x,L[d++]=p*o+v*h+m,L[d++]=T*h+g*o+E,L[d++]=s.x1,L[d++]=s.y1,C[d++]=P,L[d++]=x,L[d++]=p*o+v*n+m,L[d++]=T*n+g*o+E,L[d++]=s.x2,L[d++]=s.y2,C[d++]=P,L[d++]=x,L[d++]=p*a+v*n+m,L[d++]=T*n+g*a+E,L[d++]=s.x3,L[d++]=s.y3,C[d++]=P,L[d++]=x),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=e.texture.baseTexture.textureIndex;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var s=e._uvs,o=t.baseTexture.width,a=t.baseTexture.height;e.tilePosition.x%=o*e.tileScaleOffset.x,e.tilePosition.y%=a*e.tileScaleOffset.y;var n=e.tilePosition.x/(o*e.tileScaleOffset.x),h=e.tilePosition.y/(a*e.tileScaleOffset.y),l=e.width/o/(e.tileScale.x*e.tileScaleOffset.x),u=e.height/a/(e.tileScale.y*e.tileScaleOffset.y);s.x0=0-n,s.y0=0-h,s.x1=1*l-n,s.y1=0-h,s.x2=1*l-n,s.y2=1*u-h,s.x3=0-n,s.y3=1*u-h;var c=e.tint,d=(c>>16)+(65280&c)+((255&c)<<16)+(255*e.worldAlpha<<24),f=this.positions,x=this.colors,p=e.width,g=e.height,v=e.anchor.x,T=e.anchor.y,m=p*(1-v),E=p*-v,_=g*(1-T),S=g*-T,y=this.currentBatchSize*this.vertexSize,b=t.baseTexture.resolution,A=e.worldTransform,R=A.a/b,M=A.b/b,C=A.c/b,L=A.d/b,B=A.tx,P=A.ty;f[y++]=R*E+C*S+B,f[y++]=L*S+M*E+P,f[y++]=s.x0,f[y++]=s.y0,x[y++]=d,f[y++]=r,f[y++]=R*m+C*S+B,f[y++]=L*S+M*m+P,f[y++]=s.x1,f[y++]=s.y1,x[y++]=d,f[y++]=r,f[y++]=R*m+C*_+B,f[y++]=L*_+M*m+P,f[y++]=s.x2,f[y++]=s.y2,x[y++]=d,f[y++]=r,f[y++]=R*E+C*_+B,f[y++]=L*_+M*E+P,f[y++]=s.x3,f[y++]=s.y3,x[y++]=d,f[y++]=r,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,c=null,d=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,v=this.currentBatchSize;g0&&(T=!1),(c!==o&&!T||x||p)&&(this.renderBatch(c,l,u),u=g,l=0,c=o,x&&(d=a,this.renderSession.blendModeManager.setBlendMode(d)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(c,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(d,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); +(function(){function e(e,t,r,s){var o=e.createTexture();return e.bindTexture(e.TEXTURE_2D,o),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_S,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_WRAP_T,e.CLAMP_TO_EDGE),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MAG_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texParameteri(e.TEXTURE_2D,e.TEXTURE_MIN_FILTER,s===i.scaleModes.LINEAR?e.LINEAR:e.NEAREST),e.texImage2D(e.TEXTURE_2D,0,e.RGBA,t,r,0,e.RGBA,e.UNSIGNED_BYTE,null),o}function t(t,r,i,o,a){var n=t.createFramebuffer(),h=t.createRenderbuffer(),l=null,u=0;return t.activeTexture(t.TEXTURE0+a),t.bindFramebuffer(t.FRAMEBUFFER,n),t.bindRenderbuffer(t.RENDERBUFFER,h),t.framebufferRenderbuffer(t.FRAMEBUFFER,t.DEPTH_STENCIL_ATTACHMENT,t.RENDERBUFFER,this.renderBuffer),l=e(t,r,i,o),t.framebufferTexture2D(t.FRAMEBUFFER,t.COLOR_ATTACHMENT0,t.TEXTURE_2D,l,0),(u=t.checkFramebufferStatus(t.FRAMEBUFFER))!==t.FRAMEBUFFER_COMPLETE&&console.error("Incomplete GL framebuffer. ",s[u]),n.width=r,n.height=i,n.targetTexture=l,n.renderBuffer=h,n}var r=this,i=i||{};i.DisplayObject=function(){this.position=new i.Point(0,0),this.scale=new i.Point(1,1),this.pivot=new i.Point(0,0),this.rotation=0,this.alpha=1,this.visible=!0,this.hitArea=null,this.renderable=!1,this.parent=null,this.worldAlpha=1,this.worldTransform=new Phaser.Matrix,this.worldPosition=new i.Point(0,0),this.worldScale=new i.Point(1,1),this.worldRotation=0,this.filterArea=null,this._sr=0,this._cr=1,this._bounds=new i.Rectangle(0,0,0,0),this._currentBounds=null,this._mask=null,this._cacheAsBitmap=!1,this._cacheIsDirty=!1},i.DisplayObject.prototype={constructor:i.DisplayObject,destroy:function(){if(this.children){for(var e=this.children.length;e--;)this.children[e].destroy();this.children=[]}this.hitArea=null,this.parent=null,this.worldTransform=null,this.filterArea=null,this.renderable=!1,this._bounds=null,this._currentBounds=null,this._mask=null,this._destroyCachedSprite(),this._destroyTintedTexture()},updateTransform:function(e){if(!e&&!this.parent&&!this.game)return this;var t=this.parent;e?t=e:this.parent||(t=this.game.world);var r,i,s,o,a,n,h=t.worldTransform,l=this.worldTransform;this.rotation%Phaser.Math.PI2?(this.rotation!==this.rotationCache&&(this.rotationCache=this.rotation,this._sr=Math.sin(this.rotation),this._cr=Math.cos(this.rotation)),r=this._cr*this.scale.x,i=this._sr*this.scale.x,s=-this._sr*this.scale.y,o=this._cr*this.scale.y,a=this.position.x,n=this.position.y,(this.pivot.x||this.pivot.y)&&(a-=this.pivot.x*r+this.pivot.y*s,n-=this.pivot.x*i+this.pivot.y*o),l.a=r*h.a+i*h.c,l.b=r*h.b+i*h.d,l.c=s*h.a+o*h.c,l.d=s*h.b+o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty):(r=this.scale.x,i=0,s=0,o=this.scale.y,a=this.position.x-this.pivot.x*r,n=this.position.y-this.pivot.y*o,l.a=r*h.a,l.b=r*h.b,l.c=o*h.c,l.d=o*h.d,l.tx=a*h.a+n*h.c+h.tx,l.ty=a*h.b+n*h.d+h.ty),r=l.a,i=l.b,s=l.c;var u=r*(o=l.d)-i*s;if(r||i){var d=Math.sqrt(r*r+i*i);this.worldRotation=i>0?Math.acos(r/d):-Math.acos(r/d),this.worldScale.x=d,this.worldScale.y=u/d}else if(s||o){var c=Math.sqrt(s*s+o*o);this.worldRotation=Phaser.Math.HALF_PI-(o>0?Math.acos(-s/c):-Math.acos(s/c)),this.worldScale.x=u/c,this.worldScale.y=c}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*t.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(e,t,r){var s=this.getLocalBounds(),o=new Phaser.RenderTexture(this.game,0|s.width,0|s.height,r,t,e);return i.DisplayObject._tempMatrix.tx=-s.x,i.DisplayObject._tempMatrix.ty=-s.y,o.render(this,i.DisplayObject._tempMatrix),o},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(e){return this.updateTransform(),this.worldTransform.apply(e)},toLocal:function(e,t){return t&&(e=t.toGlobal(e)),this.updateTransform(),this.worldTransform.applyInverse(e)},_renderCachedSprite:function(e){this._cachedSprite.worldAlpha=this.worldAlpha,e.gl?i.Sprite.prototype._renderWebGL.call(this._cachedSprite,e):i.Sprite.prototype._renderCanvas.call(this._cachedSprite,e)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var e=this.getLocalBounds();if(e.width=Math.max(1,Math.ceil(e.width)),e.height=Math.max(1,Math.ceil(e.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(e.width,e.height);else{var t=0;this.texture&&this.texture.baseTexture&&i._enableMultiTextureToggle&&(t=this.texture.baseTexture.textureIndex);var r=new Phaser.RenderTexture(this.game,e.width,e.height,void 0,void 0,void 0,void 0,t);this._cachedSprite=new i.Sprite(r),this._cachedSprite.worldTransform=this.worldTransform}var s=this._filters;this._filters=null,this._cachedSprite.filters=s,i.DisplayObject._tempMatrix.tx=-e.x,i.DisplayObject._tempMatrix.ty=-e.y,this._cachedSprite.texture.render(this,i.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-e.x/e.width,this._cachedSprite.anchor.y=-e.y/e.height,this._filters=s,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},i.DisplayObject.prototype.displayObjectUpdateTransform=i.DisplayObject.prototype.updateTransform,Object.defineProperties(i.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(e){this.position.x=e}},y:{get:function(){return this.position.y},set:function(e){this.position.y=e}},worldVisible:{get:function(){if(this.visible){var e=this.parent;if(!e)return this.visible;do{if(!e.visible)return!1;e=e.parent}while(e);return!0}return!1}},mask:{get:function(){return this._mask},set:function(e){this._mask&&(this._mask.isMask=!1),this._mask=e,e&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(e){if(Array.isArray(e)){for(var t=[],r=0;r=0&&t<=this.children.length)return e.parent&&e.parent.removeChild(e),e.parent=this,this.children.splice(t,0,e),e;throw new Error(e+"addChildAt: The index "+t+" supplied is out of bounds "+this.children.length)},i.DisplayObjectContainer.prototype.swapChildren=function(e,t){if(e!==t){var r=this.getChildIndex(e),i=this.getChildIndex(t);if(r<0||i<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[r]=t,this.children[i]=e}},i.DisplayObjectContainer.prototype.getChildIndex=function(e){var t=this.children.indexOf(e);if(-1===t)throw new Error("The supplied DisplayObject must be a child of the caller");return t},i.DisplayObjectContainer.prototype.setChildIndex=function(e,t){if(t<0||t>=this.children.length)throw new Error("The supplied index is out of bounds");var r=this.getChildIndex(e);this.children.splice(r,1),this.children.splice(t,0,e)},i.DisplayObjectContainer.prototype.getChildAt=function(e){if(e<0||e>=this.children.length)throw new Error("getChildAt: Supplied index "+e+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[e]},i.DisplayObjectContainer.prototype.removeChild=function(e){var t=this.children.indexOf(e);if(-1!==t)return this.removeChildAt(t)},i.DisplayObjectContainer.prototype.removeChildAt=function(e){var t=this.getChildAt(e);return t&&(t.parent=void 0,this.children.splice(e,1)),t},i.DisplayObjectContainer.prototype.bringChildToTop=function(e){if(e.parent===this)return this.setChildIndex(e,this.children.length-1)},i.DisplayObjectContainer.prototype.sendChildToBack=function(e){if(e.parent===this)return this.setChildIndex(e,0)},i.DisplayObjectContainer.prototype.removeChildren=function(e,t){void 0===e&&(e=0),void 0===t&&(t=this.children.length);var r=t-e;if(r>0&&r<=t){for(var i=this.children.splice(e,r),s=0;sn?d:n,c=c>h?c:h);var x=this._bounds;if(!f){var p=(x=new i.Rectangle).x,g=x.width+x.x,T=x.y,v=x.height+x.y,m=this.worldTransform,E=m.a,_=m.b,S=m.c,y=m.d,b=m.tx,A=m.ty,R=E*g+S*v+b,M=y*v+_*g+A,C=E*p+S*v+b,L=y*v+_*p+A,B=E*p+S*T+b,P=y*T+_*p+A,w=E*g+S*T+b,U=y*T+_*g+A;d=R,c=M,u=M,l=w<(l=B<(l=C<(l=R)?C:l)?B:l)?w:l,u=U<(u=P<(u=L(d=B>(d=C>d?C:d)?B:d)?w:d,c=U>(c=P>(c=L>c?L:c)?P:c)?U:c}if(x.x=l,x.y=u,x.width=d-l,x.height=c-u,t)for(e.worldTransform=o,s=0;s(x=y>(x=_>(x=m>x?m:x)?_:x)?y:x)?A:x,p=R>(p=b>(p=S>(p=E>p?E:p)?S:p)?b:p)?R:p}var M=this._bounds;return M.x=g,M.width=x-g,M.y=T,M.height=p-T,this._currentBounds=M,M},i.Sprite.prototype.getLocalBounds=function(){var e=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var t=0;t= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var s=i.compileProgram(e,this.vertexSrc||i.PixiShader.defaultVertexSrc,this.fragmentSrc);e.useProgram(s),this.uSamplerArray=e.getUniformLocation(s,"uSamplerArray[0]"),this.projectionVector=e.getUniformLocation(s,"projectionVector"),this.offsetVector=e.getUniformLocation(s,"offsetVector"),this.dimensions=e.getUniformLocation(s,"dimensions"),this.aVertexPosition=e.getAttribLocation(s,"aVertexPosition"),this.aTextureCoord=e.getAttribLocation(s,"aTextureCoord"),this.colorAttribute=e.getAttribLocation(s,"aColor"),this.aTextureIndex=e.getAttribLocation(s,"aTextureIndex");var o=[],a=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,a),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var n=0;n 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],i.PixiFastShader=function(e){if(this._UID=Phaser._UID++,this.gl=e,this.program=null,i._enableMultiTextureToggle){var e=this.gl;this.MAX_TEXTURES=e.getParameter(e.MAX_TEXTURE_IMAGE_UNITS);for(var t="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",r=1;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},i.PixiFastShader.prototype.constructor=i.PixiFastShader,i.PixiFastShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},i.StripShader.prototype.constructor=i.StripShader,i.StripShader.prototype.init=function(){var e=this.gl,t=i.compileProgram(e,this.vertexSrc,this.fragmentSrc);if(e.useProgram(t),this.uSampler=i._enableMultiTextureToggle?e.getUniformLocation(t,"uSamplerArray[0]"):e.getUniformLocation(t,"uSampler"),i._enableMultiTextureToggle){var r=[],s=e.createTexture();e.activeTexture(e.TEXTURE0),e.bindTexture(e.TEXTURE_2D,s),e.texImage2D(e.TEXTURE_2D,0,e.RGB,1,1,0,e.RGB,e.UNSIGNED_BYTE,null);for(var o=0;o>1,e|=e>>2,e|=e>>4,e|=e>>8,e|=e>>16,++e},r=this.gl,s=r.getParameter(r.MAX_TEXTURE_IMAGE_UNITS),o=r.getParameter(r.MAX_TEXTURE_SIZE),a=this.game.cache._cache.image,n=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=r.baseTexture);var n=r._uvs;if(n){var h,l,u,d,c=e.anchor.x,f=e.anchor.y;if(r.trim){var x=r.trim;h=(l=x.x-c*x.width)+r.crop.width,u=(d=x.y-f*x.height)+r.crop.height}else h=r.frame.width*(1-c),l=r.frame.width*-c,u=r.frame.height*(1-f),d=r.frame.height*-f;var p=this.currentBatchSize*this.vertexSize,g=r.baseTexture.resolution,T=r.baseTexture.textureIndex,v=a.a/g,m=a.b/g,E=a.c/g,_=a.d/g,S=a.tx,y=a.ty,b=r.crop.height;if(r.rotated){var A=a.a,R=a.b,M=a.c,C=a.d,L=l,B=h;S=a.c*b+S,y=a.d*b+y,v=6.123233995736766e-17*A-M,m=6.123233995736766e-17*R-C,E=A+6.123233995736766e-17*M,_=R+6.123233995736766e-17*C,r._updateUvsInverted(),h=u,l=d,u=B,d=L}var P=this.colors,w=this.positions,U=e.tint,F=(U>>16)+(65280&U)+((255&U)<<16)+(255*e.worldAlpha<<24);this.renderSession.roundPixels?(w[p++]=v*l+E*d+S|0,w[p++]=_*d+m*l+y|0,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=T,w[p++]=v*h+E*d+S|0,w[p++]=_*d+m*h+y|0,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=T,w[p++]=v*h+E*u+S|0,w[p++]=_*u+m*h+y|0,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=T,w[p++]=v*l+E*u+S|0,w[p++]=_*u+m*l+y|0,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=T):(w[p++]=v*l+E*d+S,w[p++]=_*d+m*l+y,w[p++]=n.x0,w[p++]=n.y0,P[p++]=F,w[p++]=T,w[p++]=v*h+E*d+S,w[p++]=_*d+m*h+y,w[p++]=n.x1,w[p++]=n.y1,P[p++]=F,w[p++]=T,w[p++]=v*h+E*u+S,w[p++]=_*u+m*h+y,w[p++]=n.x2,w[p++]=n.y2,P[p++]=F,w[p++]=T,w[p++]=v*l+E*u+S,w[p++]=_*u+m*l+y,w[p++]=n.x3,w[p++]=n.y3,P[p++]=F,w[p++]=T),this.sprites[this.currentBatchSize++]=e}},i.WebGLSpriteBatch.prototype.renderTilingSprite=function(e){var t=e.tilingTexture,r=t.baseTexture,s=this.gl,o=e.texture.baseTexture.textureIndex;i.WebGLRenderer.textureArray[o]!=r&&(this.flush(),s.activeTexture(s.TEXTURE0+o),s.bindTexture(s.TEXTURE_2D,r._glTextures[s.id]),i.WebGLRenderer.textureArray[o]=r),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=t.baseTexture),e._uvs||(e._uvs=new i.TextureUvs);var a=e._uvs,n=t.baseTexture.width,h=t.baseTexture.height;e.tilePosition.x%=n*e.tileScaleOffset.x,e.tilePosition.y%=h*e.tileScaleOffset.y;var l=e.tilePosition.x/(n*e.tileScaleOffset.x),u=e.tilePosition.y/(h*e.tileScaleOffset.y),d=e.width/n/(e.tileScale.x*e.tileScaleOffset.x),c=e.height/h/(e.tileScale.y*e.tileScaleOffset.y);a.x0=0-l,a.y0=0-u,a.x1=1*d-l,a.y1=0-u,a.x2=1*d-l,a.y2=1*c-u,a.x3=0-l,a.y3=1*c-u;var f=e.tint,x=(f>>16)+(65280&f)+((255&f)<<16)+(255*e.worldAlpha<<24),p=this.positions,g=this.colors,T=e.width,v=e.height,m=e.anchor.x,E=e.anchor.y,_=T*(1-m),S=T*-m,y=v*(1-E),b=v*-E,A=this.currentBatchSize*this.vertexSize,R=t.baseTexture.resolution,M=e.worldTransform,C=M.a/R,L=M.b/R,B=M.c/R,P=M.d/R,w=M.tx,U=M.ty;p[A++]=C*S+B*b+w,p[A++]=P*b+L*S+U,p[A++]=a.x0,p[A++]=a.y0,g[A++]=x,p[A++]=o,p[A++]=C*_+B*b+w,p[A++]=P*b+L*_+U,p[A++]=a.x1,p[A++]=a.y1,g[A++]=x,p[A++]=o,p[A++]=C*_+B*y+w,p[A++]=P*y+L*_+U,p[A++]=a.x2,p[A++]=a.y2,g[A++]=x,p[A++]=o,p[A++]=C*S+B*y+w,p[A++]=P*y+L*S+U,p[A++]=a.x3,p[A++]=a.y3,g[A++]=x,p[A++]=o,this.sprites[this.currentBatchSize++]=e},i.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e,t=this.gl;if(this.dirty){this.dirty=!1,e=this.defaultShader.shaders[t.id],t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var r=this.vertexSize;t.vertexAttribPointer(e.aVertexPosition,2,t.FLOAT,!1,r,0),t.vertexAttribPointer(e.aTextureCoord,2,t.FLOAT,!1,r,8),t.vertexAttribPointer(e.colorAttribute,4,t.UNSIGNED_BYTE,!0,r,16),t.vertexAttribPointer(e.aTextureIndex,1,t.FLOAT,!1,r,20)}if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer);var s=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);t.bufferSubData(t.ARRAY_BUFFER,0,s)}for(var o,a,n,h,l=0,u=0,d=null,c=this.renderSession.blendModeManager.currentBlendMode,f=null,x=!1,p=!1,g=0,T=this.currentBatchSize;g0&&(v=!1),(x||p)&&(this.renderBatch(d,l,u),u=g,l=0,d=o,x&&(c=a,this.renderSession.blendModeManager.setBlendMode(c)),p)){(e=(f=n).shaders[t.id])||((e=new i.PixiShader(t)).fragmentSrc=f.fragmentSrc,e.uniforms=f.uniforms,e.init(),f.shaders[t.id]=e),this.renderSession.shaderManager.setShader(e),e.dirty&&e.syncUniforms();var m=this.renderSession.projection;t.uniform2f(e.projectionVector,m.x,m.y);var E=this.renderSession.offset;t.uniform2f(e.offsetVector,E.x,E.y)}l++}this.renderBatch(d,l,u),this.currentBatchSize=0}},i.WebGLSpriteBatch.prototype.renderBatch=function(e,t,r){if(0!==t){var i=this.gl;if(e._dirty[i.id]){if(!this.renderSession.renderer.updateTexture(e))return}else i.bindTexture(i.TEXTURE_2D,e._glTextures[i.id]);i.drawElements(i.TRIANGLES,6*t,i.UNSIGNED_SHORT,6*r*2),this.renderSession.drawCount++}},i.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},i.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},i.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},i.WebGLFastSpriteBatch=function(e){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var t=4*this.size*this.vertSize,r=6*this.maxSize;this.vertices=new Float32Array(t),this.indices=new Uint16Array(r),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var i=0,s=0;i=this.size&&this.flush()}},i.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var e=this.gl;if(this.currentBaseTexture._glTextures[e.id]){if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{var t=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);e.bufferSubData(e.ARRAY_BUFFER,0,t)}e.drawElements(e.TRIANGLES,6*this.currentBatchSize,e.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,e)}},i.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},i.WebGLFastSpriteBatch.prototype.start=function(){var e=this.gl;e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var t=this.renderSession.projection;e.uniform2f(this.shader.projectionVector,t.x,t.y),e.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var r=4*this.vertSize;e.vertexAttribPointer(this.shader.aVertexPosition,2,e.FLOAT,!1,r,0),e.vertexAttribPointer(this.shader.aPositionCoord,2,e.FLOAT,!1,r,8),e.vertexAttribPointer(this.shader.aScale,2,e.FLOAT,!1,r,16),e.vertexAttribPointer(this.shader.aRotation,1,e.FLOAT,!1,r,24),e.vertexAttribPointer(this.shader.aTextureCoord,2,e.FLOAT,!1,r,28),e.vertexAttribPointer(this.shader.colorAttribute,1,e.FLOAT,!1,r,36),e.vertexAttribPointer(this.shader.aTextureIndex,1,e.FLOAT,!1,r,40)},i.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},i.WebGLFilterManager.prototype.constructor=i.WebGLFilterManager,i.WebGLFilterManager.prototype.setContext=function(e){this.gl=e,this.texturePool=[],this.initShaderBuffers()},i.WebGLFilterManager.prototype.begin=function(e,t){this.renderSession=e,this.defaultShader=e.shaderManager.defaultShader;var r=this.renderSession.projection;this.width=2*r.x,this.height=2*-r.y,this.buffer=t},i.WebGLFilterManager.prototype.pushFilter=function(e){var t=this.gl,r=this.renderSession.projection,s=this.renderSession.offset;e._filterArea=e.target.filterArea||e.target.getBounds(),e._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new i.WebGLStencilManager,this.renderSession.stencilManager.setContext(t),t.disable(t.STENCIL_TEST),this.filterStack.push(e);var o=e.filterPasses[0];this.offsetX+=e._filterArea.x,this.offsetY+=e._filterArea.y;var a=this.texturePool.pop();a?a.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):a=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindTexture(t.TEXTURE_2D,a.texture);var n=e._filterArea,h=o.padding;n.x-=h,n.y-=h,n.width+=2*h,n.height+=2*h,n.x<0&&(n.x=0),n.width>this.width&&(n.width=this.width),n.y<0&&(n.y=0),n.height>this.height&&(n.height=this.height),t.bindFramebuffer(t.FRAMEBUFFER,a.frameBuffer),t.viewport(0,0,n.width*this.renderSession.resolution,n.height*this.renderSession.resolution),r.x=n.width/2,r.y=-n.height/2,s.x=-n.x,s.y=-n.y,t.colorMask(!0,!0,!0,!0),t.clearColor(0,0,0,0),t.clear(t.COLOR_BUFFER_BIT),e._glFilterTexture=a},i.WebGLFilterManager.prototype.popFilter=function(){var e=this.gl,t=this.filterStack.pop(),r=t._filterArea,s=t._glFilterTexture,o=this.renderSession.projection,a=this.renderSession.offset;if(t.filterPasses.length>1){e.viewport(0,0,r.width*this.renderSession.resolution,r.height*this.renderSession.resolution),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=r.height,this.vertexArray[2]=r.width,this.vertexArray[3]=r.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=r.width,this.vertexArray[7]=0,e.bufferSubData(e.ARRAY_BUFFER,0,this.vertexArray),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=r.width/this.width,this.uvArray[5]=r.height/this.height,this.uvArray[6]=r.width/this.width,this.uvArray[7]=r.height/this.height,e.bufferSubData(e.ARRAY_BUFFER,0,this.uvArray);var n=s,h=this.texturePool.pop();h||(h=new i.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindFramebuffer(e.FRAMEBUFFER,h.frameBuffer),e.clear(e.COLOR_BUFFER_BIT),e.disable(e.BLEND);for(var l=0;l0?e.enable(e.STENCIL_TEST):e.disable(e.STENCIL_TEST),this.applyFilterPass(c,r,f,x),this.texturePool.push(s),t._glFilterTexture=null},i.WebGLFilterManager.prototype.applyFilterPass=function(e,t,r,s){var o=this.gl,a=e.shaders[o.id];a||((a=new i.PixiShader(o)).fragmentSrc=e.fragmentSrc,a.uniforms=e.uniforms,a.init(!0),e.shaders[o.id]=a),this.renderSession.shaderManager.setShader(a),o.uniform2f(a.projectionVector,r/2,-s/2),o.uniform2f(a.offsetVector,0,0),e.uniforms.dimensions&&(e.uniforms.dimensions.value[0]=this.width,e.uniforms.dimensions.value[1]=this.height,e.uniforms.dimensions.value[2]=this.vertexArray[0],e.uniforms.dimensions.value[3]=this.vertexArray[5]),a.syncUniforms(),o.bindBuffer(o.ARRAY_BUFFER,this.vertexBuffer),o.vertexAttribPointer(a.aVertexPosition,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.uvBuffer),o.vertexAttribPointer(a.aTextureCoord,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ARRAY_BUFFER,this.colorBuffer),o.vertexAttribPointer(a.colorAttribute,2,o.FLOAT,!1,0,0),o.bindBuffer(o.ELEMENT_ARRAY_BUFFER,this.indexBuffer),o.drawElements(o.TRIANGLES,6,o.UNSIGNED_SHORT,0),this.renderSession.drawCount++},i.WebGLFilterManager.prototype.initShaderBuffers=function(){var e=this.gl;this.vertexBuffer=e.createBuffer(),this.uvBuffer=e.createBuffer(),this.colorBuffer=e.createBuffer(),this.indexBuffer=e.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bufferData(e.ARRAY_BUFFER,this.vertexArray,e.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),e.bindBuffer(e.ARRAY_BUFFER,this.uvBuffer),e.bufferData(e.ARRAY_BUFFER,this.uvArray,e.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),e.bindBuffer(e.ARRAY_BUFFER,this.colorBuffer),e.bufferData(e.ARRAY_BUFFER,this.colorArray,e.STATIC_DRAW),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer),e.bufferData(e.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),e.STATIC_DRAW)},i.WebGLFilterManager.prototype.destroy=function(){var e=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var t=0;t=0;e--){var t=this._glTextures[e],r=i.glContexts[e];r&&t&&r.deleteTexture(t)}this._glTextures.length=0,this.dirty()},i.BaseTexture.fromCanvas=function(e,t,r){return 0===e.width&&(e.width=1),0===e.height&&(e.height=1),r=r||1,new i.BaseTexture(e,t,r)},i.TextureSilentFail=!1,i.Texture=function(e,t,r,s){this.noFrame=!1,t||(this.noFrame=!0,t=new i.Rectangle(0,0,1,1)),e instanceof i.Texture&&(e=e.baseTexture),this.baseTexture=e,this.frame=t,this.trim=s,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=r||new i.Rectangle(0,0,1,1),this.rotated=!1,e.hasLoaded&&(this.noFrame&&(t=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(t))},i.Texture.prototype.constructor=i.Texture,i.Texture.prototype.onBaseTextureLoaded=function(){var e=this.baseTexture;this.noFrame&&(this.frame=new i.Rectangle(0,0,e.width,e.height)),this.setFrame(this.frame)},i.Texture.prototype.destroy=function(e){e&&this.baseTexture.destroy(),this.valid=!1},i.Texture.prototype.setFrame=function(e){if(this.noFrame=!1,this.frame=e,this.width=e.width,this.height=e.height,this.crop.x=e.x,this.crop.y=e.y,this.crop.width=e.width,this.crop.height=e.height,this.trim||!(e.x+e.width>this.baseTexture.width||e.y+e.height>this.baseTexture.height))this.valid=e&&e.width&&e.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!i.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},i.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.width)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.width)/t,this._uvs.y2=(e.y+e.height)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.height)/r},i.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new i.TextureUvs);var e=this.crop,t=this.baseTexture.width,r=this.baseTexture.height;this._uvs.x0=e.x/t,this._uvs.y0=e.y/r,this._uvs.x1=(e.x+e.height)/t,this._uvs.y1=e.y/r,this._uvs.x2=(e.x+e.height)/t,this._uvs.y2=(e.y+e.width)/r,this._uvs.x3=e.x/t,this._uvs.y3=(e.y+e.width)/r},i.Texture.fromCanvas=function(e,t){var r=i.BaseTexture.fromCanvas(e,t);return new i.Texture(r)},i.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=i),exports.PIXI=i):"undefined"!=typeof define&&define.amd?define("PIXI",r.PIXI=i):r.PIXI=i,i}).call(this); //# sourceMappingURL=pixi.map \ No newline at end of file diff --git a/build/phaser.js b/build/phaser.js index 9222b670d..3dc6042fd 100644 --- a/build/phaser.js +++ b/build/phaser.js @@ -7,7 +7,7 @@ * * Phaser - http://phaser.io * -* v2.14.0 "2020-01-19" - Built: Sun Jan 19 2020 13:12:03 +* v2.15.0 "2020-03-06" - Built: Fri Mar 06 2020 12:24:37 * * By Richard Davey http://www.photonstorm.com @photonstorm * @@ -19835,6 +19835,15 @@ PIXI.WebGLSpriteBatch.prototype.end = function () PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) { var texture = sprite.texture; + var baseTexture = texture.baseTexture; + var gl = this.gl; + if (PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + baseTexture.textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[baseTexture.textureIndex] = baseTexture; + } // They provided an alternative rendering matrix, so use it var wt = sprite.worldTransform; @@ -20007,7 +20016,16 @@ PIXI.WebGLSpriteBatch.prototype.render = function (sprite, matrix) PIXI.WebGLSpriteBatch.prototype.renderTilingSprite = function (sprite) { var texture = sprite.tilingTexture; + var baseTexture = texture.baseTexture; + var gl = this.gl; var textureIndex = sprite.texture.baseTexture.textureIndex; + if (PIXI.WebGLRenderer.textureArray[textureIndex] != baseTexture) // eslint-disable-line eqeqeq + { + this.flush(); + gl.activeTexture(gl.TEXTURE0 + textureIndex); + gl.bindTexture(gl.TEXTURE_2D, baseTexture._glTextures[gl.id]); + PIXI.WebGLRenderer.textureArray[textureIndex] = baseTexture; + } // check texture.. if (this.currentBatchSize >= this.size) @@ -20239,7 +20257,7 @@ PIXI.WebGLSpriteBatch.prototype.flush = function () } // - if ((currentBaseTexture !== nextTexture && !skip) || + if (/* (currentBaseTexture !== nextTexture && !skip) || */ blendSwap || shaderSwap) { @@ -22664,7 +22682,7 @@ var Phaser = Phaser || { // jshint ignore:line * @constant Phaser.VERSION * @type {string} */ - VERSION: '2.14.0', + VERSION: '2.15.0', /** * An array of Phaser game instances. @@ -48824,13 +48842,6 @@ Phaser.Component.BringToTop.prototype.moveDown = function () */ Phaser.Component.Core = function () {}; -/** - * @property {boolean} skipTypeChecks - Skip type checks in {@link #init}. - * @static - * @default - */ -Phaser.Component.Core.skipTypeChecks = false; - /** * Installs / registers mixin components. * @@ -48875,26 +48886,6 @@ Phaser.Component.Core.install = function (components) Phaser.Component.Core.init = function (game, x, y, key, frame) { - if (!Phaser.Component.Core.skipTypeChecks) - { - if (!(game instanceof Phaser.Game)) - { - throw new Error('The value passed as the `game` argument (' + game + ') is not an instance of Phaser.Game.'); - } - - if (typeof x !== 'number') - { - console.warn('The `x` argument value (%s) should be a number.', x); - x = 0; // This would be done implicitly in position.set(). - } - - if (typeof y !== 'number') - { - console.warn('The `y` argument value (%s) should be a number.', y); - y = 0; // This would be done implicitly in position.set(). - } - } - this.game = game; this.key = key; this.data = {}; diff --git a/build/phaser.map b/build/phaser.map index c619eba9b..f751edc85 100644 --- a/build/phaser.map +++ b/build/phaser.map @@ -1 +1 @@ -{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","countUpdate","countRender","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","skipTypeChecks","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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SitB,KAAWunC,EAAO3tD,SAASS,EACpCtH,EAASitB,KAAWunC,EAAO3tD,SAASU,EAGpCvH,EAASitB,KAAWunC,EAAOpiD,MAAM9K,EACjCtH,EAASitB,KAAWunC,EAAOpiD,MAAM7K,EAGjCvH,EAASitB,KAAWunC,EAAO/d,SAG3Bz2C,EAASitB,KAAWwnC,EAAIW,GACxBp1D,EAASitB,KAAWwnC,EAAIpW,GAGxBr+C,EAASitB,KAAWunC,EAAO9d,MAG3B12C,EAASitB,KAAWmtB,EAIpBp6C,EAASitB,KAAW+wB,EACpBh+C,EAASitB,KAAWkxB,EAEpBn+C,EAASitB,KAAWunC,EAAO3tD,SAASS,EACpCtH,EAASitB,KAAWunC,EAAO3tD,SAASU,EAGpCvH,EAASitB,KAAWunC,EAAOpiD,MAAM9K,EACjCtH,EAASitB,KAAWunC,EAAOpiD,MAAM7K,EAGjCvH,EAASitB,KAAWunC,EAAO/d,SAG3Bz2C,EAASitB,KAAWwnC,EAAIrW,GACxBp+C,EAASitB,KAAWwnC,EAAIpW,GAGxBr+C,EAASitB,KAAWunC,EAAO9d,MAG3B12C,EAASitB,KAAWmtB,EAGpBp6C,EAASitB,KAAW+wB,EACpBh+C,EAASitB,KAAWixB,EAEpBl+C,EAASitB,KAAWunC,EAAO3tD,SAASS,EACpCtH,EAASitB,KAAWunC,EAAO3tD,SAASU,EAGpCvH,EAASitB,KAAWunC,EAAOpiD,MAAM9K,EACjCtH,EAASitB,KAAWunC,EAAOpiD,MAAM7K,EAGjCvH,EAASitB,KAAWunC,EAAO/d,SAG3Bz2C,EAASitB,KAAWwnC,EAAInW,GACxBt+C,EAASitB,KAAWwnC,EAAIlW,GAGxBv+C,EAASitB,KAAWunC,EAAO9d,MAG3B12C,EAASitB,KAAWmtB,EAKpBp6C,EAASitB,KAAWgxB,EACpBj+C,EAASitB,KAAWixB,EAEpBl+C,EAASitB,KAAWunC,EAAO3tD,SAASS,EACpCtH,EAASitB,KAAWunC,EAAO3tD,SAASU,EAGpCvH,EAASitB,KAAWunC,EAAOpiD,MAAM9K,EACjCtH,EAASitB,KAAWunC,EA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","file":"phaser.min.js"} \ No newline at end of file +{"version":3,"sources":["phaser.js"],"names":["e","exports","module","f","window","global","self","p2","t","n","r","s","o","u","a","require","i","Error","call","length","1","_dereq_","Line","Scalar","lineInt","l1","l2","precision","a1","b1","c1","a2","b2","c2","det","eq","segmentsIntersect","p1","q1","q2","dx","dy","da","db","./Scalar","2","Point","area","b","c","left","leftOn","right","rightOn","tmpPoint1","tmpPoint2","collinear","thresholdAngle","ab","bc","dot","magA","Math","sqrt","magB","acos","sqdist","3","Polygon","this","vertices","getIntersectionPoint","delta","prototype","at","v","first","last","clear","append","poly","from","to","push","makeCCW","br","reverse","tmp","N","pop","isReflex","tmpLine1","tmpLine2","canSee","p","dist","copy","j","targetPoly","k","getCutEdges","min","tmp1","tmp2","tmpPoly","nDiags","Number","MAX_VALUE","decomp","edges","slice","cutEdges","Array","polys","cutEdge","result","splice","indexOf","isSimple","path","quickDecomp","reflexVertices","steinerPoints","maxlevel","level","upperInt","lowerInt","upperDist","lowerDist","d","closestDist","upperIndex","lowerIndex","closestIndex","lowerPoly","upperPoly","console","warn","removeCollinearPoints","num","./Line","./Point","4","abs","5","./Polygon","6","name","version","description","author","keywords","main","engines","node","repository","type","url","bugs","licenses","devDependencies","grunt","grunt-contrib-jshint","grunt-contrib-nodeunit","grunt-contrib-uglify","grunt-contrib-watch","grunt-browserify","grunt-contrib-concat","dependencies","poly-decomp","7","AABB","options","lowerBound","vec2","create","upperBound","setFromPoints","points","position","angle","skinSize","l","rotate","cosAngle","cos","sinAngle","sin","x","y","add","aabb","extend","overlaps","u1","u2","containsPoint","point","overlapsRay","ray","dirFracX","direction","dirFracY","t1","t2","t3","t4","tmin","max","tmax","../math/vec2","../utils/Utils","8","Broadphase","world","boundingVolumeType","Body","BOUNDING_CIRCLE","setWorld","getCollisionPairs","boundingRadiusCheck","bodyA","bodyB","sub","d2","squaredLength","boundingRadius","aabbCheck","getAABB","boundingVolumeCheck","canCollide","KINEMATIC","STATIC","sleepState","SLEEPING","NAIVE","SAP","../objects/Body","9","NaiveBroadphase","constructor","bodies","Ncolliding","bi","bj","aabbQuery","aabbNeedsUpdate","updateAABB","../collision/Broadphase","../shapes/Circle","../shapes/Particle","../shapes/Plane","../shapes/Shape","10","Narrowphase","contactEquations","frictionEquations","enableFriction","enabledEquations","slipForce","frictionCoefficient","surfaceVelocity","contactEquationPool","ContactEquationPool","size","frictionEquationPool","FrictionEquationPool","restitution","stiffness","Equation","DEFAULT_STIFFNESS","relaxation","DEFAULT_RELAXATION","frictionStiffness","frictionRelaxation","enableFrictionReduction","collidingBodiesLastStep","TupleDictionary","contactSkinSize","setConvexToCapsuleShapeMiddle","convexShape","capsuleShape","set","radius","pointInConvex","worldPoint","convexOffset","convexAngle","worldVertex0","pic_worldVertex0","worldVertex1","pic_worldVertex1","r0","pic_r0","r1","pic_r1","verts","lastCross","v0","v1","cross","crossLength","Circle","Convex","Shape","Box","yAxis","fromValues","tmp3","tmp4","tmp5","tmp6","tmp7","tmp8","tmp9","tmp10","tmp11","tmp12","tmp13","tmp14","tmp15","tmp16","tmp17","tmp18","tmpArray","bodiesOverlap_shapePositionA","bodiesOverlap_shapePositionB","bodiesOverlap","shapePositionA","shapePositionB","Nshapesi","shapes","shapeA","toWorldFrame","Nshapesj","shapeB","collidedLastStep","id1","id","id2","get","reset","eqs","ce","fe","release","createContactEquation","firstImpact","needsUpdate","enabled","offset","createFrictionEquation","setSlipForce","relativeVelocity","createFrictionFromContact","contactPointA","contactPointB","rotate90cw","normalA","createFrictionFromAverage","numContacts","invNumContacts","scale","normalize","LINE","CONVEX","convexLine","convexBody","lineBody","lineShape","lineOffset","lineAngle","justTest","BOX","lineBox","boxBody","boxShape","boxOffset","boxAngle","convexCapsule_tempRect","width","height","convexCapsule_tempVec","CAPSULE","convexCapsule","convexPosition","capsuleBody","capsulePosition","capsuleAngle","circlePos","result1","circleConvex","result2","convexConvex","lineCapsule","linePosition","capsuleCapsule_tempVec1","capsuleCapsule_tempVec2","capsuleCapsule_tempRect1","capsuleCapsule","si","xi","ai","sj","xj","aj","circlePosi","circlePosj","enableFrictionBefore","circleCircle","rect","lineLine","positionA","angleA","positionB","angleB","PLANE","planeLine","planeBody","planeShape","planeOffset","planeAngle","worldVertex01","worldVertex11","worldEdge","worldEdgeUnit","worldNormal","worldTangent","PARTICLE","particleCapsule","particleBody","particleShape","particlePosition","particleAngle","circleLine","CIRCLE","circleBody","circleShape","circleOffset","circleAngle","lineRadius","circleRadius","orthoDist","lineToCircleOrthoUnit","projectedPoint","centerDist","lineToCircle","lineEndToLineRadius","radiusSum","pos","pos0","pos1","pow","circleCapsule","worldVertex","closestEdgeProjectedPoint","candidate","candidateDist","minCandidate","found","minCandidateDistance","candidateDistance","localVertex","particleConvex","particleOffset","convexToparticle","minEdgeNormal","offsetA","offsetB","radiusA","radiusB","planeConvex","numReported","particlePlane","circleParticle","planeCapsule_tmpCircle","planeCapsule_tmp1","planeCapsule_tmp2","planeCapsule","capsuleOffset","end1","end2","circle","numContacts1","circlePlane","numContacts2","numTotal","planeToCircle","temp","contact","sepAxis","worldPoint0","worldPoint1","penetrationVec","findSeparatingAxis","closestEdge1","getClosestEdge","closestEdge2","closestEdgeA","closestEdgeB","insideNumEdges","pcoa_tmp1","projectConvexOntoAxis","worldAxis","value","localAxis","fsa_tmp1","fsa_tmp2","fsa_tmp3","fsa_tmp4","fsa_tmp5","fsa_tmp6","offset1","angle1","offset2","angle2","maxDist","overlap","edge","normal","span1","span2","gce_tmp1","gce_tmp2","gce_tmp3","axis","flip","closestEdge","maxDot","circleHeightfield_candidate","circleHeightfield_dist","circleHeightfield_v0","circleHeightfield_v1","circleHeightfield_minCandidate","circleHeightfield_worldNormal","circleHeightfield_minCandidateNormal","HEIGHTFIELD","circleHeightfield","hfBody","hfShape","hfPos","hfAngle","data","heights","w","elementWidth","minCandidateNormal","idxA","floor","idxB","ceil","PI","convexHeightfield_v0","convexHeightfield_v1","convexHeightfield_tilePos","convexHeightfield_tempConvexShape","convexHeightfield","convexPos","tilePos","tileConvex","../equations/ContactEquation","../equations/Equation","../equations/FrictionEquation","../shapes/Box","../shapes/Convex","../utils/ContactEquationPool","../utils/FrictionEquationPool","../utils/TupleDictionary","11","Ray","checkCollisionResponse","undefined","skipBackfaces","collisionMask","collisionGroup","mode","ANY","callback","update","distanceFromIntersectionSquared","intersect","squaredDistance","CLOSEST","ALL","intersectBodies","shouldStop","body","intersectBody","intersectBody_worldPosition","collisionResponse","worldPosition","shape","worldAngle","intersectShape","_currentBody","_currentShape","raycast","reportIntersection","fraction","faceIndex","hasHit","../collision/AABB","../collision/RaycastResult","12","RaycastResult","isStopped","getHitDistance","distance","getHitPoint","out","lerp","stop","../collision/Ray","13","SAPBroadphase","axisList","axisIndex","that","_addBodyHandler","_removeBodyHandler","idx","Utils","appendArray","off","on","sortAxisList","sortList","14","Constraint","defaults","collideConnected","wakeUpBodies","equations","wakeUp","DISTANCE","GEAR","LOCK","PRISMATIC","REVOLUTE","setStiffness","setRelaxation","15","DistanceConstraint","localAnchorA","localAnchorB","worldAnchorA","worldAnchorB","maxForce","ri","rj","computeGq","setMaxForce","upperLimitEnabled","upperLimit","lowerLimitEnabled","lowerLimit","normalEquation","G","violating","minForce","rixn","rjxn","getMaxForce","./Constraint","16","GearConstraint","ratio","AngleLockEquation","maxTorque","setMaxTorque","setRatio","torque","getMaxTorque","../equations/AngleLockEquation","17","LockConstraint","localAngleB","rot","g","localOffsetB","force","xAxis","18","PrismaticConstraint","localAxisA","trans","gg","updateJacobian","disableRotationalLock","RotationalLockEquation","velocity","upperLimitEquation","ContactEquation","lowerLimitEquation","motorEquation","motorEnabled","motorSpeed","computeGW","vi","vj","wi","angularVelocity","wj","gmult","worldAxisA","orientedAnchorA","orientedAnchorB","relPosition","enableMotor","disableMotor","setLimits","lower","upper","../equations/RotationalLockEquation","19","RevoluteConstraint","pivotA","pivotB","worldPivot","localPivotA","localPivotB","worldPivotA","worldPivotB","RotationalVelocityEquation","relAngle","setMotorSpeed","speed","getMotorSpeed","../equations/RotationalVelocityEquation","20","./Equation","21","computeB","h","GW","Gq","computeGiMf","relVel","getVelocityAlongNormal","getVelocityAtPoint","subtract","22","ARRAY_TYPE","epsilon","timeStep","multiplier","qi","qj","computeGWlambda","vlambda","wlambda","iMfi","iMfj","fi","ti","angularForce","fj","tj","invMassi","invMassSolve","invMassj","invIi","invInertiaSolve","invIj","multiply","massMultiplier","computeGiMGt","addToWlambda_temp","addToWlambda_Gi","addToWlambda_Gj","addToWlambda","deltalambda","Gi","Gj","computeInvC","eps","23","FrictionEquation","getSlipForce","24","worldVectorA","worldVectorB","25","GiMf","26","EventEmitter","listener","context","_listeners","listeners","has","index","emit","event","listenerArray","target","27","ContactMaterial","materialA","materialB","Material","idCounter","friction","./Material","28","29","PolyK","GetArea","sum","Triangulate","tgs","avl","al","i0","i1","i2","ax","ay","bx","by","cx","cy","earFound","_convex","_PointInTriangle","px","py","v0x","v0y","v1x","v1y","v2x","v2y","dot00","dot01","dot02","dot11","dot12","invDenom","30","crossVZ","vec","zcomp","crossZV","toLocalFrame","framePosition","frameAngle","toGlobalFrame","localPoint","vectorToLocalFrame","worldVector","vectorToGlobalFrame","localVector","centroid","clone","mul","divide","div","sqrDist","len","sqrLen","negate","str","reflect","vector","getLineSegmentsIntersection","p0","p3","getLineSegmentsIntersectionFraction","s1_x","s1_y","s2_x","s2_y","31","_idCounter","mass","invMass","inertia","invInertia","fixedRotation","fixedX","fixedY","interpolatedPosition","interpolatedAngle","previousPosition","previousAngle","damping","angularDamping","DYNAMIC","allowSleep","wantsToSleep","AWAKE","sleepSpeedLimit","sleepTimeLimit","gravityScale","idleTime","timeLastSleepy","ccdSpeedThreshold","ccdIterations","concavePath","_wakeUpAfterNarrowphase","updateMassProperties","updateSolveMassProperties","setDensity","density","totalArea","getArea","shapeAABB","bodyAngle","computeAABB","updateBoundingRadius","addShape","removeShape","m","I","r2","computeMomentOfInertia","applyForce","relativePoint","rotForce","Body_applyForce_forceWorld","Body_applyForce_pointWorld","Body_applyForce_pointLocal","applyForceLocal","localForce","worldForce","vectorToWorldFrame","Body_applyImpulse_velo","applyImpulse","impulseVector","velo","rotVelo","Body_applyImpulse_impulseWorld","Body_applyImpulse_pointWorld","Body_applyImpulse_pointLocal","applyImpulseLocal","localImpulse","worldImpulse","fromPolygon","convexes","optimalDecomp","cm","centerOfMass","updateTriangles","updateCenterOfMass","adjustCenterOfMass","adjustCenterOfMass_tmp2","adjustCenterOfMass_tmp3","adjustCenterOfMass_tmp4","offset_times_area","setZeroForce","resetConstraintVelocity","addConstraintVelocity","applyDamping","dt","wakeUpEvent","sleep","sleepEvent","sleepTick","time","dontSleep","SLEEPY","overlapKeeper","bodiesAreOverlapping","integrate_fhMinv","integrate_velodt","integrate","minv","integrateToTimeOfImpact","end","startToEnd","rememberPosition","hit","startToEndAngle","timeOfImpact","rememberAngle","iter","tmid","narrowphase","sleepyEvent","../events/EventEmitter","32","LinearSpring","Spring","setWorldAnchorA","setWorldAnchorB","getWorldAnchorA","getWorldAnchorB","worldDistance","restLength","applyForce_r","applyForce_r_unit","applyForce_u","applyForce_f","applyForce_worldAnchorA","applyForce_worldAnchorB","applyForce_ri","applyForce_rj","applyForce_tmp","r_unit","rlen","ri_x_f","rj_x_f","./Spring","33","RotationalSpring","restAngle","34","35","TopDownVehicle","chassisBody","wheels","groundBody","preStepCallback","WheelConstraint","vehicle","forwardEquation","sideEquation","steerValue","engineForce","setSideFriction","sideFriction","localForwardVector","localPosition","apply","setBrakeForce","addToWorld","addBody","wheel","addConstraint","removeFromWorld","removeBody","removeConstraint","addWheel","wheelOptions","worldVelocity","getSpeed","tmpVec","../constraints/Constraint","36","Capsule","GSSolver","Heightfield","Particle","Plane","Pool","Solver","World","Object","defineProperty","../package.json","./collision/AABB","./collision/Broadphase","./collision/NaiveBroadphase","./collision/Narrowphase","./collision/Ray","./collision/RaycastResult","./collision/SAPBroadphase","./constraints/Constraint","./constraints/DistanceConstraint","./constraints/GearConstraint","./constraints/LockConstraint","./constraints/PrismaticConstraint","./constraints/RevoluteConstraint","./equations/AngleLockEquation","./equations/ContactEquation","./equations/Equation","./equations/FrictionEquation","./equations/RotationalVelocityEquation","./events/EventEmitter","./material/ContactMaterial","./material/Material","./math/vec2","./objects/Body","./objects/LinearSpring","./objects/RotationalSpring","./objects/Spring","./objects/TopDownVehicle","./shapes/Box","./shapes/Capsule","./shapes/Circle","./shapes/Convex","./shapes/Heightfield","./shapes/Line","./shapes/Particle","./shapes/Plane","./shapes/Shape","./solver/GSSolver","./solver/Solver","./utils/ContactEquationPool","./utils/FrictionEquationPool","./utils/Pool","./utils/Utils","./world/World","37","arguments","axes","updateArea","./Convex","./Shape","38","intersectCapsule_hitPointWorld","intersectCapsule_normal","intersectCapsule_l0","intersectCapsule_l1","intersectCapsule_unit_y","hitPointWorld","l0","halfLen","diagonalLengthSquared","sqrtDelta","inv2a","d1","39","Ray_intersectSphere_intersectionPoint","Ray_intersectSphere_normal","intersectionPoint","40","isArray","triangles","polyk","tmpVec1","tmpVec2","projectOntoLocalAxis","projectOntoWorldAxis","shapeOffset","shapeAngle","polykVerts","id3","updateCenterOfMass_centroid","updateCenterOfMass_centroid_times_mass","updateCenterOfMass_a","updateCenterOfMass_b","updateCenterOfMass_c","centroid_times_mass","triangleArea","denom","numer","intersectConvex_rayStart","intersectConvex_rayEnd","intersectConvex_normal","rayStart","rayEnd","../math/polyk","41","key","maxValue","minValue","updateMaxMinValues","getLineSegment","start","getSegmentIndex","getClampedSegmentIndex","intersectHeightfield_worldNormal","intersectHeightfield_l0","intersectHeightfield_l1","intersectHeightfield_localFrom","intersectHeightfield_localTo","localFrom","localTo","42","raycast_normal","raycast_l0","raycast_l1","raycast_unit_y","43","44","intersectPlane_planePointToFrom","intersectPlane_normal","intersectPlane_len","planePointToFrom","planeToFrom","n_dot_dir","45","material","sensor","46","GS","iterations","tolerance","arrayStep","lambda","Bs","invCs","useZeroRHS","frictionIterations","usedIterations","setArrayZero","array","solve","sortEquations","maxIter","maxFrictionIter","Neq","tolSquared","Nbodies","deltalambdaTot","iterateEquation","updateMultipliers","invDt","B","invC","lambdaj","GWlambda","lambdaj_plus_deltalambda","./Solver","47","equationSortFunction","mockWorld","solveIsland","island","removeAllEquations","addEquations","getBodies","sort","addEquation","removeEquation","ISLAND","48","destroy","equation","./Pool","49","50","IslandNodePool","IslandNode","../world/IslandNode","51","IslandPool","Island","../world/Island","52","OverlapKeeper","overlappingShapesLastState","overlappingShapesCurrentState","recordPool","OverlapKeeperRecordPool","tmpDict","tmpArray1","tick","current","keys","lastObject","getByKey","setOverlapping","getNewOverlaps","getDiff","getEndOverlaps","dictA","dictB","isNewOverlap","idA","idB","getNewBodyOverlaps","getBodyDiff","getEndBodyOverlaps","accumulator","./OverlapKeeperRecord","./OverlapKeeperRecordPool","./TupleDictionary","./Utils","53","OverlapKeeperRecord","54","record","55","objects","resize","object","56","getKey","dict","57","howmany","P2_ARRAY_TYPE","Float32Array","58","bodyIds","59","IslandManager","nodePool","islandPool","islands","nodes","queue","getUnvisitedNode","Nnodes","visited","visit","bds","Neqs","bfs","root","child","neighbors","split","ni","nj","./../utils/IslandNodePool","./../utils/IslandPool","./Island","./IslandNode","60","61","springs","disabledBodyCollisionPairs","solver","islandManager","gravity","frictionGravity","useWorldGravityAsFrictionGravity","useFrictionGravityOnZeroGravity","broadphase","constraints","defaultMaterial","defaultContactMaterial","lastTimeStep","applySpringForces","applyGravity","solveConstraints","contactMaterials","stepping","bodiesToBeRemoved","islandSplit","emitImpactEvent","_constraintIdCounter","_bodyIdCounter","postStepEvent","addBodyEvent","removeBodyEvent","addSpringEvent","spring","impactEvent","contactEquation","postBroadphaseEvent","pairs","sleepMode","NO_SLEEPING","beginContactEvent","endContactEvent","preSolveEvent","BODY_SLEEPING","ISLAND_SLEEPING","constraint","addContactMaterial","contactMaterial","removeContactMaterial","getContactMaterial","cmats","step_mg","xiw","xjw","step","timeSinceLastCalled","maxSubSteps","internalStep","substeps","endOverlaps","Nsprings","np","mg","gravityLen","ignoredPairs","Nconstraints","Nresults","runNarrowphase","ev","glen","aiw","ajw","reducedMass","resolver","numFrictionBefore","numFrictionEquations","addSpring","evt","removeSpring","getBodyById","disableBodyCollision","enableBodyCollision","cs","cms","hitTest_tmp1","hitTest_tmp2","hitTest","pb","ps","NS","setGlobalStiffness","setGlobalRelaxation","tmpAABB","../../package.json","../collision/Narrowphase","../collision/SAPBroadphase","../constraints/DistanceConstraint","../constraints/GearConstraint","../constraints/LockConstraint","../constraints/PrismaticConstraint","../constraints/RevoluteConstraint","../material/ContactMaterial","../material/Material","../objects/LinearSpring","../objects/RotationalSpring","../shapes/Capsule","../shapes/Line","../solver/GSSolver","../solver/Solver","../utils/OverlapKeeper","./IslandManager","_CreateEmptyTexture","gl","scaleMode","texture","createTexture","bindTexture","TEXTURE_2D","texParameteri","TEXTURE_WRAP_S","CLAMP_TO_EDGE","TEXTURE_WRAP_T","TEXTURE_MAG_FILTER","PIXI","scaleModes","LINEAR","NEAREST","TEXTURE_MIN_FILTER","texImage2D","RGBA","UNSIGNED_BYTE","_CreateFramebuffer","textureUnit","framebuffer","createFramebuffer","depthStencilBuffer","createRenderbuffer","colorBuffer","fbStatus","activeTexture","TEXTURE0","bindFramebuffer","FRAMEBUFFER","bindRenderbuffer","RENDERBUFFER","framebufferRenderbuffer","DEPTH_STENCIL_ATTACHMENT","renderBuffer","framebufferTexture2D","COLOR_ATTACHMENT0","checkFramebufferStatus","FRAMEBUFFER_COMPLETE","error","_fbErrors","targetTexture","DisplayObject","pivot","rotation","alpha","visible","hitArea","renderable","parent","worldAlpha","worldTransform","Phaser","Matrix","worldScale","worldRotation","filterArea","_sr","_cr","_bounds","Rectangle","_currentBounds","_mask","_cacheAsBitmap","_cacheIsDirty","children","_destroyCachedSprite","_destroyTintedTexture","updateTransform","game","tx","ty","pt","wt","PI2","rotationCache","determ","HALF_PI","transformCallback","transformCallbackContext","preUpdate","generateTexture","resolution","renderer","bounds","getLocalBounds","renderTexture","RenderTexture","_tempMatrix","render","updateCache","_generateCachedSprite","toGlobal","toLocal","applyInverse","_renderCachedSprite","renderSession","_cachedSprite","Sprite","_renderWebGL","_renderCanvas","baseTexture","_enableMultiTextureToggle","textureIndex","tempFilters","_filters","filters","anchor","tintedTexture","CanvasPool","removeByCanvas","displayObjectUpdateTransform","defineProperties","worldVisible","item","mask","isMask","passes","filterPasses","_filterBlock","blendMode","blendModes","MULTIPLY","NORMAL","cacheAsBitmap","DisplayObjectContainer","ignoreChildInput","addChild","addChildAt","removeChild","swapChildren","child2","index1","getChildIndex","index2","setChildIndex","currentIndex","getChildAt","removeChildAt","bringChildToTop","sendChildToBack","removeChildren","beginIndex","endIndex","range","removed","displayObjectContainerUpdateTransform","getBounds","targetCoordinateSpace","isTargetCoordinateSpaceDisplayObject","isTargetCoordinateSpaceThisOrParent","contains","matrixCache","identityMatrix","childBounds","childMaxX","childMaxY","minX","Infinity","minY","maxX","maxY","childVisible","w0","w1","h0","h1","x1","y1","x2","y2","x3","y3","x4","y4","targetCoordinateSpaceBounds","spriteBatch","flush","filterManager","pushFilter","maskManager","pushMask","popMask","popFilter","_width","_height","defaultAnchor","Texture","emptyTexture","tint","cachedTint","shader","exists","hasLoaded","onTextureUpdate","frame","setTexture","destroyBase","skipRender","valid","matrix","crop","currentBlendMode","globalCompositeOperation","blendModesCanvas","globalAlpha","smoothProperty","trim","shakeX","shakeY","cw","ch","rotated","roundPixels","setTransform","requiresReTint","CanvasTinter","getTintedTexture","drawImage","source","initDefaultShaders","CompileVertexShader","shaderSrc","_CompileShader","VERTEX_SHADER","CompileFragmentShader","FRAGMENT_SHADER","shaderType","src","join","createShader","shaderSource","compileShader","getShaderParameter","COMPILE_STATUS","log","getShaderInfoLog","compileProgram","vertexSrc","fragmentSrc","fragmentShader","vertexShader","shaderProgram","createProgram","attachShader","linkProgram","getProgramParameter","LINK_STATUS","getProgramInfoLog","PixiShader","_UID","program","textureCount","firstRun","dirty","attributes","init","initMultitexShader","MAX_TEXTURES","getParameter","MAX_TEXTURE_IMAGE_UNITS","dynamicIfs","defaultVertexSrc","useProgram","uSamplerArray","getUniformLocation","projectionVector","offsetVector","dimensions","aVertexPosition","getAttribLocation","aTextureCoord","colorAttribute","aTextureIndex","indices","tempTexture","RGB","uniform1iv","uniforms","uniformLocation","initUniforms","initDefaultShader","uSampler","usingFilter","uniform","_init","initSampler2D","glMatrix","glValueLength","glFunc","uniformMatrix2fv","uniformMatrix3fv","uniformMatrix4fv","_glTextures","textureData","magFilter","minFilter","wrapS","wrapT","format","LUMINANCE","repeat","REPEAT","pixelStorei","UNPACK_FLIP_Y_WEBGL","flipY","border","uniform1i","syncUniforms","transpose","z","_dirty","instances","updateTexture","deleteProgram","PixiFastShader","uMatrix","aPositionCoord","aScale","aRotation","StripShader","translationMatrix","attribute","PrimitiveShader","tintColor","ComplexPrimitiveShader","color","glContexts","WebGLRenderer","config","defaultRenderer","extensions","WEBGL","transparent","autoResize","preserveDrawingBuffer","clearBeforeRender","powerPreference","view","canvas","_contextOptions","antialias","failIfMajorPerformanceCaveat","premultipliedAlpha","stencil","projection","shaderManager","WebGLShaderManager","WebGLSpriteBatch","WebGLMaskManager","WebGLFilterManager","stencilManager","WebGLStencilManager","blendModeManager","WebGLBlendModeManager","currentBatchedTextures","drawCount","maxTextureAvailableSpace","initContext","mapBlendModes","getContext","maxTextures","maxTextureSize","MAX_TEXTURE_SIZE","glContextId","disable","DEPTH_TEST","CULL_FACE","enable","BLEND","setContext","compression","etc1","getExtension","pvrtc","s3tc","ETC1","PVRTC","S3TC","setTexturePriority","textureNameCollection","clampPot","potSize","imageCache","cache","_cache","image","imageName","base","stage","contextLost","viewport","clearColor","_bgColor","COLOR_BUFFER_BIT","camera","_shake","renderDisplayObject","displayObject","buffer","setBlendMode","begin","style","updateCompressedTexture","textureMetaData","compressedTexImage2D","glExtensionFormat","mipmap","isPowerOfTwo","LINEAR_MIPMAP_LINEAR","NEAREST_MIPMAP_NEAREST","generateMipmap","_powerOf2","compressionAlgorithm","UNPACK_PREMULTIPLY_ALPHA_WEBGL","remove","blendModesWebGL","modes","ONE","ONE_MINUS_SRC_ALPHA","ADD","SRC_ALPHA","DST_ALPHA","DST_COLOR","SCREEN","OVERLAY","DARKEN","LIGHTEN","COLOR_DODGE","COLOR_BURN","HARD_LIGHT","SOFT_LIGHT","DIFFERENCE","EXCLUSION","HUE","SATURATION","COLOR","LUMINOSITY","getMaxTextureUnit","enableMultiTexture","textureArray","blendModeWebGL","blendFunc","maskData","WebGLGraphics","updateGraphics","_webGL","pushStencil","popStencil","stencilStack","count","graphics","webGLData","bindGraphics","STENCIL_TEST","STENCIL_BUFFER_BIT","colorMask","stencilFunc","ALWAYS","stencilOp","KEEP","INVERT","drawElements","TRIANGLE_FAN","UNSIGNED_SHORT","EQUAL","DECR","INCR","TRIANGLE_STRIP","_currentGraphics","complexPrimitiveShader","setShader","uniform1f","toArray","uniform2f","uniform3fv","Color","hexToRGBArray","bindBuffer","ARRAY_BUFFER","vertexAttribPointer","FLOAT","ELEMENT_ARRAY_BUFFER","indexBuffer","primitiveShader","maxAttibs","attribState","tempAttribState","stack","defaultShader","fastShader","stripShader","creatureShader","CreatureShader","setAttribs","attribs","attribId","enableVertexAttribArray","disableVertexAttribArray","_currentId","currentShader","vertSize","vertexSize","numVerts","numIndices","ArrayBuffer","positions","colors","Uint32Array","Uint16Array","lastIndexCount","drawing","currentBatchSize","currentBaseTexture","textures","shaders","sprites","Filter","vertexBuffer","createBuffer","bufferData","STATIC_DRAW","DYNAMIC_DRAW","sprite","uvs","_uvs","aX","aY","a0","b0","c0","d0","_w1","_w0","_updateUvsInverted","x0","y0","renderTilingSprite","tilingTexture","TextureUvs","tilePosition","tileScaleOffset","offsetX","offsetY","scaleX","tileScale","scaleY","stride","bufferSubData","subarray","nextTexture","nextBlendMode","nextShader","batchSize","blendSwap","shaderSwap","skip","renderBatch","startIndex","TRIANGLES","deleteBuffer","WebGLFastSpriteBatch","maxSize","renderSprite","filterStack","texturePool","initShaderBuffers","filterBlock","_filterArea","_previous_stencil_mgr","filter","FilterTexture","padding","frameBuffer","_glFilterTexture","vertexArray","uvBuffer","uvArray","inputTexture","outputTexture","filterPass","applyFilterPass","sizeX","sizeY","currentFilter","colorArray","36054","36055","36057","36061","DEFAULT","renderbufferStorage","DEPTH_STENCIL","deleteFramebuffer","deleteTexture","CanvasBuffer","clearRect","CanvasMaskManager","save","cacheAlpha","transform","CanvasGraphics","renderGraphicsMask","clip","restore","tintMethod","tintWithMultiply","fillStyle","toString","substr","fillRect","tintWithPerPixel","rgbValues","pixelData","getImageData","pixels","canHandleAlpha","putImageData","CanvasRenderer","CANVAS","refresh","Canvas","getSmoothingPrefix","navigator","isCocoonJS","screencanvas","rgba","removeView","useNew","device","canUseMultiply","BaseTexture","complete","naturalWidth","naturalHeight","forceLoaded","unloadFromGPU","glTexture","fromCanvas","TextureSilentFail","noFrame","isTiling","requiresUpdate","setFrame","onBaseTextureLoaded","_updateUvs","tw","th","define","amd","VERSION","GAMES","AUTO","HEADLESS","WEBGL_MULTI","NONE","LEFT","RIGHT","UP","DOWN","SPRITE","BUTTON","IMAGE","GRAPHICS","TEXT","TILESPRITE","BITMAPTEXT","GROUP","RENDERTEXTURE","TILEMAP","TILEMAPLAYER","EMITTER","POLYGON","BITMAPDATA","CANVAS_FILTER","WEBGL_FILTER","ELLIPSE","SPRITEBATCH","RETROFONT","POINTER","ROPE","RECTANGLE","MATRIX","POINT","ROUNDEDRECTANGLE","CREATURE","VIDEO","PENDING_ATLAS","HORIZONTAL","VERTICAL","LANDSCAPE","PORTRAIT","ANGLE_UP","ANGLE_DOWN","ANGLE_LEFT","ANGLE_RIGHT","ANGLE_NORTH_EAST","ANGLE_NORTH_WEST","ANGLE_SOUTH_EAST","ANGLE_SOUTH_WEST","TOP_LEFT","TOP_CENTER","TOP_RIGHT","LEFT_TOP","LEFT_CENTER","LEFT_BOTTOM","CENTER","RIGHT_TOP","RIGHT_CENTER","RIGHT_BOTTOM","BOTTOM_LEFT","BOTTOM_CENTER","BOTTOM_RIGHT","AudioBufferSourceNode","noteGrainOn","noteOff","trunc","Function","bind","thisArg","bound","args","boundArgs","concat","TypeError","F","proto","arg","forEach","fun","CheapArray","assert","assign","varArgs","hasOwn","hasOwnProperty","nextSource","nextKey","reverseString","string","getProperty","obj","parts","_getProperty","setProperties","props","setProperty","_setProperty","val","currentObj","chanceRoll","chance","random","randomChoice","choice1","choice2","parseDimension","dimension","parseInt","innerWidth","innerHeight","pad","dir","padlen","isPlainObject","nodeType","copyIsArray","deep","mixinPrototype","mixin","replace","mixinKeys","childNodes","cloneNode","diameter","_diameter","_radius","circumference","setTo","copyFrom","copyTo","dest","round","output","circumferencePoint","asDegrees","sample","steps","startAngle","endAngle","linear","offsetPoint","top","bottom","equals","intersects","degToRad","intersectsRectangle","halfWidth","halfHeight","xCornerDist","yCornerDist","intersectsLine","returnPoints","del","p0Exists","pointOnSegment","p1Exists","Ellipse","centerX","centerY","normx","normy","fromPoints","fromSprite","startSprite","endSprite","useCenter","fromAngle","rotateAround","line","asSegment","intersectsPoints","midPoint","centerOn","pointOnLine","fuzzyEqual","xMin","xMax","yMin","yMax","coordinatesOnLine","stepRate","results","sx","sy","err","e2","wrap","uc","ua","ub","empty","bx1","by1","bx2","by2","intersectionWithRectangle","edgeIntersection","closestDistance","normalAngle","fromArray","newPos","translate","tx1","identity","invert","setToPolar","azimuth","clampX","clamp","clampY","equalsXY","fuzzyEquals","fuzzyEqualsXY","angleXY","atan2","radToDeg","atan","getMagnitude","getMagnitudeSq","setMagnitude","magnitude","isZero","limit","expand","perp","rperp","normalRightHand","negative","multiplyAdd","interpolate","project","amt","projectUnit","pointslength","parse","xProp","yProp","parseFloat","isPoint","sortClockwise","center","_points","closed","flattened","toNumberArray","flatten","inside","ix","iy","jx","jy","calculateArea","avgHeight","floorAll","ceilAll","copyFromBounds","inflate","containsRect","intersection","intersectsRaw","union","randomX","randomY","getPoint","sides","inflatePoint","createFromBounds","containsRaw","rx","ry","rw","rh","volume","sameDimensions","NEGATIVE_INFINITY","POSITIVE_INFINITY","EmptyRectangle","RoundedRectangle","Camera","deadzone","roundPx","atLimit","totalInView","onShakeComplete","Signal","onFlashComplete","onFadeComplete","fx","_targetPosition","_edge","_position","intensity","duration","horizontal","vertical","shakeBounds","_fxDuration","_fxType","_fixedView","FOLLOW_LOCKON","FOLLOW_PLATFORMER","FOLLOW_TOPDOWN","FOLLOW_TOPDOWN_TIGHT","SHAKE_BOTH","SHAKE_HORIZONTAL","SHAKE_VERTICAL","ENABLE_FX","boot","Graphics","follow","lerpX","lerpY","helper","unfollow","focusOn","setPosition","focusOnXY","shake","flash","beginFill","drawRect","endFill","fade","updateFX","updateShake","checkBounds","elapsedMS","dispatch","rnd","frac","updateTarget","math","setBoundsToWorld","vx","vw","vy","vh","setSize","resetFX","State","make","input","load","sound","state","tweens","particles","physics","preload","loadUpdate","loadRender","postUpdate","preRender","paused","resumed","pauseUpdate","shutdown","StateManager","pendingState","states","_pendingState","_clearWorld","_clearCache","_created","_args","onStateChange","onInitCallback","onPreloadCallback","onCreateCallback","onUpdateCallback","onRenderCallback","onResizeCallback","onPreRenderCallback","onLoadUpdateCallback","onLoadRenderCallback","onPausedCallback","onResumedCallback","onPauseUpdateCallback","onShutDownCallback","onPause","pause","onResume","resume","autoStart","newState","isBooted","callbackContext","clearWorld","clearCache","checkState","restart","dummy","previousStateKey","clearCurrentState","setCurrentState","totalQueuedFiles","totalQueuedPacks","loadComplete","removeAll","debug","link","unlink","onPostUpdateCallback","_kickstart","getCurrentState","elapsedTime","renderType","_bindings","_prevParams","memorize","_shouldPropagate","active","_boundDispatch","validateListener","fnName","_registerListener","isOnce","listenerContext","priority","binding","prevIndex","_indexOfListener","SignalBinding","_addBinding","execute","_priority","cur","_listener","addOnce","_destroy","getNumListeners","halt","paramsArr","bindings","forget","dispose","_this","signal","_isOnce","_signal","callCount","params","handlerReturn","detach","isBound","getListener","getSignal","prevPoint","Date","mouse","date","getFullYear","getMonth","getDate","getHours","getMinutes","getSeconds","sampleRate","iChannel0","iChannel1","iChannel2","iChannel3","setResolution","pointer","toFixed","totalElapsedSeconds","anchorX","anchorY","Cache","Plugin","hasPreUpdate","hasUpdate","hasPostUpdate","hasRender","hasPostRender","postRender","PluginManager","plugins","_len","_i","plugin","Stage","disableVisibilityChange","currentRenderOrderID","_hiddenVar","_onChange","parseConfig","backgroundColor","setBackgroundColor","DOM","getOffset","setUserSelect","setTouchAction","checkVisibility","document","hidden","webkitHidden","mozHidden","msHidden","visibilityChange","_onChangePause","_onChangeResume","_onClick","hasFocus","addEventListener","onblur","onfocus","onpagehide","onpageshow","cocoonJSApp","CocoonJS","App","onSuspended","onActivated","focusLoss","focusGain","gamePaused","gameResumed","valueToColor","updateColor","removeEventListener","silent","hash","removeFromHash","Group","addToStage","enableBody","physicsBodyType","Physics","ARCADE","physicsType","alive","ignoreDestroy","pendingDestroy","classType","cursor","inputEnableChildren","updateOnlyExistingChildren","onChildInputDown","onChildInputUp","onChildInputOver","onChildInputOut","enableBodyDebug","physicsSortDirection","onDestroy","cursorIndex","fixedToCamera","cameraOffset","_sortProperty","RETURN_NONE","RETURN_TOTAL","RETURN_CHILD","RETURN_ALL","SORT_ASCENDING","SORT_DESCENDING","updateZ","addToHash","inputEnabled","events","onAddedToGroup$dispatch","addAt","addMultiple","moveAll","getAt","createMultiple","quantity","singleKey","singleFrame","align","cellWidth","cellHeight","alignIn","resetCursor","next","previous","swap","child1","bringToTop","getIndex","sendToBack","moveUp","moveDown","xy","getByName","getFirst","oldChild","newChild","hasProperty","operation","checkProperty","checkAlive","checkVisible","setAll","setAllChildren","checkAll","checkAny","addAll","property","amount","subAll","multiplyAll","divideAll","kill","killAll","callAllExists","revive","reviveAll","resetAll","checkExists","resetChild","existsValue","callbackFromArray","callAll","method","methodLength","contextLength","renderOrderID","predicate","ArraySet","forEachExists","iterate","forEachAlive","forEachDead","order","ascendingSortHandler","descendingSortHandler","customSort","sortHandler","returnType","total","getFirstExists","createIfNull","getFirstAlive","getFirstDead","loadTexture","getTop","getBottom","getClosestTo","tempDistance","getFurthestFrom","countLiving","countDead","getRandom","ArrayUtils","getRandomItem","getRandomExists","list","getAll","pick","destroyPhase","onRemovedFromGroup$dispatch","group","destroyTexture","removeBetween","scatter","shuffle","destroyChildren","soft","_definedSize","stateChange","setBounds","useBounds","wrapAll","between","Game","physicsConfig","multiTexture","isRunning","raf","net","Device","lockRender","pendingStep","stepCount","onBlur","onFocus","_paused","_codePaused","currentUpdateID","updatesThisFrame","rendersThisFrame","_deltaTime","_lastCount","_spiraling","fpsProblemNotifier","forceSingleUpdate","forceSingleRender","dropFrames","_nextFpsNotification","enableDebug","RandomDataGenerator","now","whenReady","seed","ScaleManager","setUpRenderer","GameObjectFactory","GameObjectCreator","Loader","Time","TweenManager","Input","SoundManager","Particles","Create","Net","Debug","noop","isDisabled","showDebugHeader","forceSetTimeOut","RequestAnimationFrame","focusWindow","disableStart","isReady","onReady","PhaserGlobal","hideBanner","webAudio","ie","canvasID","canvasStyle","crisp","setImageRenderingCrisp","webGL","contextRestored","webGLRendererError","cocoonJS","smoothed","addToDOM","preventDefault","clearGLTextures","updateLogic","desiredFpsMult","updateRender","slowMotion","desiredFps","slowStep","elapsed","countUpdate","countRender","enableStep","disableStep","removeFromDOM","muteOnPause","setMute","cordova","iOS","unsetMute","focus","stopFocus","hitCanvas","hitContext","moveCallbacks","customCandidateHandler","customCandidateHandlerContext","pollRate","multiInputOverride","MOUSE_TOUCH_COMBINE","maxPointers","tapRate","doubleTapRate","holdRate","justPressedRate","justReleasedRate","recordPointerHistory","recordRate","recordLimit","touchLockCallbacks","pointer1","pointer2","pointer3","pointer4","pointer5","pointer6","pointer7","pointer8","pointer9","pointer10","pointers","activePointer","mousePointer","keyboard","touch","mspointer","gamepad","resetLocked","onDown","onUp","onTap","onHold","minPriorityID","interactiveItems","_localPoint","_pollCounter","_oldPosition","_x","_y","MOUSE_OVERRIDES_TOUCH","TOUCH_OVERRIDES_MOUSE","MAX_POINTERS","Pointer","PointerMode","CURSOR","addPointer","Mouse","Touch","MSPointer","mouseWheel","MouseWheel","pointerLock","PointerLock","Keyboard","Gamepad","_onClickTrampoline","onClickTrampoline","setInteractiveCandidateHandler","addMoveCallback","addTouchLockCallback","onEnd","removeTouchLockCallback","executeTouchLockCallbacks","cb","deleteMoveCallback","CONTACT","hard","resetSpeed","startPointer","countActivePointers","updatePointer","identifier","move","stopPointer","getPointer","isActive","getPointerFromIdentifier","getPointerFromId","pointerId","getLocalPosition","Creature","TileSprite","graphicsData","fill","processClickTrampolines","handler","mouseDownCallback","mouseUpCallback","mouseOutCallback","mouseOverCallback","capture","stopOnGameOut","_onMouseDown","_onMouseMove","_onMouseUp","_onMouseOut","_onMouseOver","NO_BUTTON","LEFT_BUTTON","MIDDLE_BUTTON","RIGHT_BUTTON","BACK_BUTTON","FORWARD_BUTTON","isAndroidStockBrowser","onMouseDown","onMouseMove","onMouseUp","_onMouseUpGlobal","onMouseUpGlobal","_onMouseOutGlobal","onMouseOutGlobal","onMouseOut","onMouseOver","mouseMoveCallback","withinGame","resetButtons","updateButtons","element","wheelEventName","wheelEvent","boundOnWheelHandler","onWheelHandler","eventProxy","WheelEventProxy","bindEvent","deltaY","pointerDownCallback","pointerMoveCallback","pointerUpCallback","pointerOutCallback","pointerOverCallback","_onMSPointerDown","_onMSPointerMove","_onMSPointerUp","_onMSPointerUpGlobal","_onMSPointerOut","_onMSPointerOver","onPointerDown","onPointerMove","onPointerUp","onPointerUpGlobal","onPointerOut","onPointerOver","pointerType","DeviceButton","buttonCode","isDown","isUp","timeDown","timeUp","repeats","altKey","shiftKey","ctrlKey","onFloat","startStop","condition","padFloat","justPressed","justReleased","pointerMode","button","leftButton","middleButton","rightButton","backButton","forwardButton","eraserButton","ERASER_BUTTON","_holdSent","_history","_nextDrop","_stateReset","clientX","clientY","pageX","pageY","screenX","screenY","rawMovementX","rawMovementY","movementX","movementY","isMouse","previousTapTime","totalTouches","msSinceLastClick","targetObject","interactiveCandidates","positionDown","positionUp","_clickTrampolines","_trampolineTargetObject","processButtonsDown","processButtonsUp","processButtonsUpDown","buttons","toLowerCase","down","totalActivePointers","_touchedHandler","processInteractiveObjects","shift","fromClick","pollLocked","locked","mozMovementX","webkitMovementX","mozMovementY","webkitMovementY","noPause","isDragged","highestRenderOrderID","highestInputPriorityID","candidateTarget","currentNode","checked","validForInput","checkPointerDown","checkPointerOver","priorityID","swapTarget","newTarget","_pointerOutHandler","_pointerOverHandler","leave","doubleTap","currentPointers","addClickTrampoline","callbackArgs","trampolines","trampoline","_releasedHandler","resetMovement","PointerModes","touchStartCallback","touchMoveCallback","touchEndCallback","touchEnterCallback","touchLeaveCallback","touchCancelCallback","_onTouchStart","_onTouchMove","_onTouchEnd","_onTouchEnter","_onTouchLeave","_onTouchCancel","onTouchStart","onTouchMove","onTouchEnd","onTouchEnter","onTouchLeave","onTouchCancel","consumeDocumentTouches","_documentTouchMove","changedTouches","InputHandler","useHandCursor","_setHandCursor","allowHorizontalDrag","allowVerticalDrag","snapOffset","snapOnDrag","snapOnRelease","snapX","snapY","snapOffsetX","snapOffsetY","pixelPerfectOver","pixelPerfectClick","pixelPerfectAlpha","draggable","boundsRect","boundsSprite","scaleLayer","dragOffset","dragFromCenter","dragStopBlocksInputUp","dragStartPoint","dragDistanceThreshold","dragTimeThreshold","downPoint","snapPoint","_dragPoint","_dragPhase","_pendingDrag","_dragTimePass","_dragDistancePass","_wasEnabled","_tempPoint","_pointerData","camX","camY","isOver","isOut","timeOver","timeOut","downDuration","onAddedToGroup","addedToGroup","onRemovedFromGroup","removedFromGroup","highestID","highestRenderID","includePixelPerfect","isPixelPerfect","pointerX","pointerY","pointerDown","pointerUp","pointerTimeDown","pointerTimeUp","pointerOver","pointerOut","pointerTimeOver","pointerTimeOut","pointerDragged","fastTest","checkPixel","_dx","_dy","startDrag","_draggedPointerID","updateDrag","sendEvent","onInputOver$dispatch","onInputOut$dispatch","onInputDown$dispatch","dragTimeElapsed","onInputUp$dispatch","stopDrag","fromStart","dragPoint","pointerData","pointerLocalCoord","globalToLocal","prevX","prevY","checkBoundsRect","checkBoundsSprite","onDragUpdate","justOver","delay","overDuration","justOut","enableDrag","lockCenter","pixelPerfect","alphaThreshold","disableDrag","boundsCenterLocalCoord","onDragStart$dispatch","globalToLocalX","grid","boundsFluid","scaleFluidInversed","globalToLocalY","globalCoord","onDragStop$dispatch","setDragLock","allowHorizontal","allowVertical","enableSnap","onDrag","onRelease","disableSnap","onChange","onError","boundOnChangeHandler","onChangeHandler","boundOnErrorHandler","onErrorHandler","pointerLockElement","pointerlockchange","pointerlockerror","requestPointerLock","mozRequestPointerLock","webkitRequestPointerLock","exitPointerLock","mozExitPointerLock","webkitExitPointerLock","request","exit","_gamepadIndexMap","_rawPads","_active","_gamepadSupportAvailable","webkitGetGamepads","webkitGamepads","userAgent","getGamepads","_prevRawGamepadTypes","_prevTimestamps","onConnectCallback","onDisconnectCallback","onDownCallback","onUpCallback","onAxisCallback","onFloatCallback","_ongamepadconnected","_gamepaddisconnected","_gamepads","SinglePad","addCallbacks","callbacks","onConnect","onDisconnect","onAxis","_onGamepadConnected","onGamepadConnected","_onGamepadDisconnected","onGamepadDisconnected","newPad","connect","removedPad","disconnect","_pollGamepads","pad1","pollStatus","pad2","pad3","pad4","rawGamepads","gamepadsChanged","_rawPad","singlePad","validConnections","rawIndices","padIndices","connected","rawPad","setDeadZones","deadZone","BUTTON_0","BUTTON_1","BUTTON_2","BUTTON_3","BUTTON_4","BUTTON_5","BUTTON_6","BUTTON_7","BUTTON_8","BUTTON_9","BUTTON_10","BUTTON_11","BUTTON_12","BUTTON_13","BUTTON_14","BUTTON_15","AXIS_0","AXIS_1","AXIS_2","AXIS_3","AXIS_4","AXIS_5","AXIS_6","AXIS_7","AXIS_8","AXIS_9","XBOX360_A","XBOX360_B","XBOX360_X","XBOX360_Y","XBOX360_LEFT_BUMPER","XBOX360_RIGHT_BUMPER","XBOX360_LEFT_TRIGGER","XBOX360_RIGHT_TRIGGER","XBOX360_BACK","XBOX360_START","XBOX360_STICK_LEFT_BUTTON","XBOX360_STICK_RIGHT_BUTTON","XBOX360_DPAD_LEFT","XBOX360_DPAD_RIGHT","XBOX360_DPAD_UP","XBOX360_DPAD_DOWN","XBOX360_STICK_LEFT_X","XBOX360_STICK_LEFT_Y","XBOX360_STICK_RIGHT_X","XBOX360_STICK_RIGHT_Y","PS3XC_X","PS3XC_CIRCLE","PS3XC_SQUARE","PS3XC_TRIANGLE","PS3XC_L1","PS3XC_R1","PS3XC_L2","PS3XC_R2","PS3XC_SELECT","PS3XC_START","PS3XC_STICK_LEFT_BUTTON","PS3XC_STICK_RIGHT_BUTTON","PS3XC_DPAD_UP","PS3XC_DPAD_DOWN","PS3XC_DPAD_LEFT","PS3XC_DPAD_RIGHT","PS3XC_STICK_LEFT_X","PS3XC_STICK_LEFT_Y","PS3XC_STICK_RIGHT_X","PS3XC_STICK_RIGHT_Y","padParent","_padParent","_prevTimestamp","_buttons","_buttonsLen","_axes","_axesLen","getButton","timestamp","rawButtonVal","isNaN","processButtonDown","processButtonUp","processButtonFloat","processAxisChange","triggerCallback","disconnectingIndex","axisCode","buttonValue","Key","keycode","_enabled","durationUp","keyCode","onHoldCallback","onHoldContext","_justDown","_justUp","processKeyDown","processKeyUp","upDuration","pressEvent","onPressCallback","_keys","_capture","_onKeyDown","_onKeyPress","_onKeyUp","_k","onPress","removeCallbacks","addKey","addKeyCapture","addKeys","removeKey","removeKeyCapture","createCursorKeys","up","KeyCode","processKeyPress","clearCaptures","String","fromCharCode","charCode","A","charCodeAt","C","D","E","H","J","K","L","M","O","P","Q","R","S","T","U","V","W","X","Y","Z","ZERO","TWO","THREE","FOUR","FIVE","SIX","SEVEN","EIGHT","NINE","NUMPAD_0","NUMPAD_1","NUMPAD_2","NUMPAD_3","NUMPAD_4","NUMPAD_5","NUMPAD_6","NUMPAD_7","NUMPAD_8","NUMPAD_9","NUMPAD_MULTIPLY","NUMPAD_ADD","NUMPAD_ENTER","NUMPAD_SUBTRACT","NUMPAD_DECIMAL","NUMPAD_DIVIDE","F1","F2","F3","F4","F5","F6","F7","F8","F9","F10","F11","F12","F13","F14","F15","COLON","EQUALS","COMMA","UNDERSCORE","PERIOD","QUESTION_MARK","TILDE","OPEN_BRACKET","BACKWARD_SLASH","CLOSED_BRACKET","QUOTES","BACKSPACE","TAB","CLEAR","ENTER","SHIFT","CONTROL","ALT","CAPS_LOCK","ESC","SPACEBAR","PAGE_UP","PAGE_DOWN","END","HOME","PLUS","MINUS","INSERT","DELETE","HELP","NUM_LOCK","match","Component","Angle","wrapAngle","Animation","play","frameRate","loop","killOnComplete","animations","AutoCull","autoCull","inCamera","checkWorldBounds","Bounds","container","alignTo","BringToTop","Core","install","components","Events","PhysicsBody","AnimationManager","LoadTexture","FixedToCamera","previousRotation","preUpdateChildren","fresh","_exists","P2JS","customRender","Crop","cropRect","_crop","updateCrop","resetFrame","oldX","oldY","oldW","oldH","_frame","Delta","deltaX","deltaZ","Destroy","onDestroy$dispatch","removeFrom","Video","onChangeSource","resizeFrame","BitmapText","_glyphs","_parent","_onDestroy","_onAddedToGroup","_onRemovedFromGroup","_onKilled","_onRevived","_onEnterBounds","_onOutOfBounds","_onInputOver","_onInputOut","_onInputDown","_onInputUp","_onDragStart","_onDragUpdate","_onDragStop","_onAnimationStart","_onAnimationComplete","_onAnimationLoop","onKilled","onRevived","onOutOfBounds","onEnterBounds","onInputOver","onInputOut","onInputDown","onInputUp","onDragStart","onDragStop","onAnimationStart","onAnimationComplete","onAnimationLoop","prop","backing","_fixedToCamera","Health","health","maxHealth","damage","setHealth","heal","InCamera","InputEnabled","InWorld","outOfCameraBoundsKill","_outOfBoundsFired","onEnterBounds$dispatch","onOutOfBounds$dispatch","outOfBoundsKill","inWorld","LifeSpan","lifespan","physicsElapsedMS","onRevived$dispatch","onKilled$dispatch","stopAnimation","BitmapData","hasFrameData","loadFrameData","getFrameData","frameData","Tilemap","TilemapLayer","img","getImage","trimmed","spriteSourceSizeX","spriteSourceSizeY","sourceSizeW","sourceSizeH","refreshTexture","frameName","Overlap","_reset","Reset","ScaleMinMax","scaleMin","scaleMax","checkTransform","setScaleMinMax","Smoothed","existing","weapon","bulletClass","Weapon","createBullets","Image","creature","mesh","animation","useFlatData","tween","physicsGroup","SpriteBatch","audio","audioSprite","addSprite","tileSprite","rope","Rope","text","Text","overFrame","outFrame","downFrame","upFrame","Button","emitter","maxParticles","Arcade","Emitter","retroFont","font","characterWidth","characterHeight","chars","charsPerRow","xSpacing","ySpacing","xOffset","yOffset","RetroFont","bitmapText","tilemap","tileWidth","tileHeight","addToCache","uuid","addRenderTexture","video","bitmapData","addBitmapData","Tween","preUpdatePhysics","preUpdateLifeSpan","preUpdateInWorld","preUpdateCore","_onOverFrame","_onOutFrame","_onDownFrame","_onUpFrame","onOverSound","onOutSound","onDownSound","onUpSound","onOverSoundMarker","onOutSoundMarker","onDownSoundMarker","onUpSoundMarker","onOverMouseOnly","justReleasedPreventsOver","freezeFrames","forceOut","setFrames","onInputOverHandler","onInputOutHandler","onInputDownHandler","onInputUpHandler","clearFrames","setStateFrame","switchImmediately","frameKey","changeStateFrame","setStateSound","marker","soundKey","markerKey","Sound","AudioSprite","playStateSound","setSounds","overSound","overMarker","downSound","downMarker","outSound","outMarker","upSound","upMarker","setOverSound","setOutSound","setDownSound","setUpSound","fastSpriteBatch","ready","isRotated","childTransform","skipPool","ctx","imageData","FrameData","textureFrame","addFrame","Frame","disableTextureUpload","cls","_image","_pos","_size","_scale","_rotate","_alpha","prev","_anchor","_tempR","_tempG","_tempB","_circle","_swapCanvas","moveH","moveV","draw","onload","addImage","toDataURL","processPixelRGB","pixel","createColor","unpackPixel","getPixel32","setPixel32","processPixel","replaceRGB","g1","g2","region","packPixel","setHSL","bHaveH","bHaveS","bHaveL","HSLtoRGB","shiftHSL","red","green","blue","immediate","LITTLE_ENDIAN","setPixel","getPixel","getPixelRGB","hsl","hsv","getPixels","getFirstPixel","scan","newWidth","newHeight","getCanvas","op","copyTransform","copyRect","drawGroup","drawGroupProxy","drawFull","renderGraphics","shadow","blur","shadowColor","shadowBlur","shadowOffsetX","shadowOffsetY","alphaMask","sourceRect","maskRect","blendSourceAtop","blendReset","extract","destination","prevFont","fillText","beginPath","arc","closePath","moveTo","lineTo","lineWidth","strokeStyle","stroke","polygon","textureLine","createPattern","blendSourceOver","blendSourceIn","blendSourceOut","blendDestinationOver","blendDestinationIn","blendDestinationOut","blendDestinationAtop","blendXor","blendAdd","blendMultiply","blendScreen","blendOverlay","blendDarken","blendLighten","blendColorDodge","blendColorBurn","blendHardLight","blendSoftLight","blendDifference","blendExclusion","blendHue","blendSaturation","blendColor","blendLuminosity","copyBitmapData","destRowStart","getSmoothingEnabled","setSmoothingEnabled","getTransform","translateX","translateY","skewX","skewY","EarCut","holeIndices","dim","hasHoles","outerLen","outerNode","linkedList","eliminateHoles","earcutLinked","clockwise","insertNode","filterPoints","again","steiner","removeNode","ear","pass","indexCurve","isEarHashed","isEar","cureLocalIntersections","splitEarcut","pointInTriangle","minTX","minTY","maxTX","maxTY","minZ","zOrder","maxZ","nextZ","prevZ","locallyInside","isValidDiagonal","splitPolygon","getLeftmost","compareX","eliminateHole","hole","findHoleBridge","hx","hy","qx","tan","tanMin","sortLinked","q","tail","numMerges","pSize","qSize","inSize","leftmost","intersectsPolygon","middleInside","Node","an","bp","stencilBufferLimit","lastIndex","clearDirty","graphicsDataPool","switchMode","buildPoly","buildComplexPoly","buildLine","buildRectangle","buildCircle","buildRoundedRectangle","upload","WebGLGraphicsData","rectData","fillColor","fillAlpha","vertPos","tempPoints","rrectData","recPoints","quadraticBezierCurve","vecPos","fromX","fromY","cpX","cpY","toX","toY","getPt","n1","n2","perc","xa","ya","xb","yb","circleData","seg","totalSegs","firstPoint","lastPoint","midPointX","midPointY","unshift","p1x","p1y","p2x","p2y","p3x","p3y","perpx","perpy","perp2x","perp2y","perp3x","perp3y","indexCount","indexStart","lineColor","lineAlpha","glPoints","glIndicies","updateGraphicsTint","_fillTint","_lineTint","strokeRect","ox","oy","xe","ye","xm","ym","bezierCurveTo","maxRadius","quadraticCurveTo","tintR","tintG","tintB","GraphicsData","currentPath","boundsPadding","_localBounds","_boundsDirty","webGLDirty","cachedSpriteDirty","updateLocalBounds","drawTriangle","cull","triangle","cameraToFace","faceNormal","drawPolygon","drawTriangles","point1","point2","point3","lineStyle","drawShape","cpX2","cpY2","dt2","dt3","arcTo","mm","dd","cc","tt","k1","k2","j1","j2","qy","anticlockwise","segments","sweep","segs","startX","startY","filling","theta","theta2","cTheta","sTheta","segMinus","remainder","drawRoundedRect","drawCircle","drawEllipse","canvasBuffer","updateCachedSpriteTexture","_prevTint","tempPoint","getVisualBounds","cachedSprite","destroyCachedSprite","textureBuffer","tempMatrix","renderXY","renderRawXY","updateBase","realResolution","getBase64","webGLPixels","Uint8Array","readPixels","tempCanvas","canvasData","textBounds","strokeColors","fontStyles","fontWeights","autoRound","useAdvancedWrap","splitRegExp","characterLimitSize","characterLimitSuffix","_testString","_res","_text","_fontComponents","_lineSpacing","_charCount","setStyle","updateText","setShadow","shadowStroke","shadowFill","newStyle","boundsAlignH","boundsAlignV","strokeThickness","wordWrap","wordWrapWidth","maxLines","tabs","fontToComponents","fontStyle","fontVariant","fontWeight","fontSize","componentsToFont","outputText","substring","runWordWrap","lines","lineWidths","maxLineWidth","fontProperties","determineFontProperties","drawnLines","measureLine","measureText","tab","section","snapToCeil","lineHeight","lineSpacing","textBaseline","lineCap","lineJoin","linePositionX","linePositionY","ascent","updateLine","updateShadow","strokeText","renderTabLine","snap","lineLength","letter","clearColors","clearFontValues","addColor","addStrokeColor","addFontStyle","addFontWeight","weight","precalculateWordWrap","advancedWordWrap","basicWordWrap","linesCount","currentLineWidth","words","word","wordWithSpace","wordWidth","newWord","secondPart","spaceLeft","wordWidthWithSpace","updateFont","family","exec","fontFamily","setText","parseList","setTextBounds","properties","fontPropertiesCache","testString","fontPropertiesCanvas","fontPropertiesContext","baseline","descent","imagedata","setCharacterLimit","characterLimit","suffix","createElement","textWidth","textHeight","_prevAnchor","_maxWidth","_data","getBitmapFont","_font","_fontSize","_align","_letterSpacing","_tint","sourceWidth","sourceHeight","scanLine","lastSpace","wrappedWidth","prevCharCode","maxWidth","test","charAt","charData","kerning","xAdvance","letterSpacing","cleanText","re","purgeGlyphs","kept","checkImageKey","characterSpacingX","characterSpacingY","characterPerRow","multiLine","autoUpperCase","customSpacingX","customSpacingY","fixedWidth","fontSet","grabData","currentX","currentY","updateFrameData","stamp","ALIGN_LEFT","ALIGN_RIGHT","ALIGN_CENTER","TEXT_SET1","TEXT_SET2","TEXT_SET3","TEXT_SET4","TEXT_SET5","TEXT_SET6","TEXT_SET7","TEXT_SET8","TEXT_SET9","TEXT_SET10","TEXT_SET11","setFixedWidth","lineAlignment","content","characterSpacing","allowLowerCase","buildRetroFontText","getLongestLine","pasteLine","longestLine","removeUnsupportedCharacters","stripCR","newString","aChar","code","updateOffset","diffX","diffY","frames","getFrames","newText","toUpperCase","_hasUpdateAnimation","_updateAnimationCallback","canvasPadding","drawMode","updateAnimation","nextPoint","perpLength","_vertexBuffer","_initWebGL","_renderStrip","_indexBuffer","_uvBuffer","_colorBuffer","_renderCanvasTriangleStrip","_renderCanvasTriangles","_renderCanvasDrawTriangle","index0","textureSource","textureWidth","textureHeight","u0","v2","paddingX","paddingY","normX","normY","deltaA","deltaB","deltaC","deltaD","deltaE","deltaF","renderStripFlat","strip","rawX","rawY","_updateAnimation","difference","_scroll","textureDebug","tilePattern","frameWidth","frameHeight","physicsElapsed","autoScroll","stopScroll","generateTilingTexture","restartBatch","sessionBlendMode","forcePowerOfTwo","targetWidth","targetHeight","getNextPowerOfTwo","pool","getTotal","getFree","deviceReadyAt","initialized","desktop","iOSVersion","nodeWebkit","electron","ejecta","crosswalk","android","chromeOS","linux","macOS","windows","windowsPhone","canvasBitBltShift","file","fileSystem","localStorage","worker","css3D","typedArray","vibration","getUserMedia","quirksMode","arora","chrome","chromeVersion","epiphany","firefox","firefoxVersion","ieVersion","trident","tridentVersion","mobileSafari","midori","opera","safari","safariVersion","webApp","silk","audioData","ogg","opus","mp3","wav","m4a","webm","dolby","oggVideo","h264Video","mp4Video","webmVideo","vp9Video","hlsVideo","iPhone","iPhone4","iPad","pixelRatio","littleEndian","support32bit","fullscreen","requestFullscreen","cancelFullscreen","fullscreenKeyboard","onInitialized","nonPrimer","readyCheck","_readyCheck","_monitor","_queue","readyState","setTimeout","_initialize","_checkIsLittleEndian","_checkIsUint8ClampedImageData","Uint8ClampedArray","createImageData","vita","kindle","RegExp","$1","_checkOS","$3","standalone","process","versions","_checkBrowser","AudioContext","webkitAudioContext","audioElement","canPlayType","major","minor","$2","_checkAudio","videoElement","_checkVideo","has3d","el","transforms","webkitTransform","OTransform","msTransform","MozTransform","insertBefore","getComputedStyle","getPropertyValue","_checkCSS3D","devicePixelRatio","Int8Array","Int32Array","vibrate","webkitVibrate","mozVibrate","msVibrate","CanvasRenderingContext2D","getItem","File","FileReader","FileList","Blob","requestFileSystem","WebGLRenderingContext","Worker","compatMode","webkitGetUserMedia","mozGetUserMedia","msGetUserMedia","oGetUserMedia","URL","webkitURL","mozURL","msURL","_checkFeatures","s1","s2","_checkCanvasFeatures","fs","cfs","Element","ALLOW_KEYBOARD_INPUT","_checkFullScreenSupport","documentElement","maxTouchPoints","PointerEvent","MSPointerEvent","msPointerEnabled","pointerEnabled","canPlayAudio","canPlayVideo","needsTouchUnlock","fakeiOSTouchLock","matches","display","msTouchAction","overflowHidden","getElementById","overflow","appendChild","parentNode","vendor","prefix","types","msInterpolationMode","setImageRenderingBicubic","vendors","requestAnimationFrame","cancelAnimationFrame","_isSetTimeOut","_onLoop","_timeOutID","updateSetTimeout","updateRAF","rafTime","timeToCall","clearTimeout","isSetTimeOut","isRAF","DEG_TO_RAD","RAD_TO_DEG","degrees","radians","fuzzyLessThan","fuzzyGreaterThan","fuzzyCeil","fuzzyFloor","average","shear","snapTo","gap","snapToFloor","roundTo","place","floorTo","ceilTo","isFinite","rotateToAngle","currentAngle","targetAngle","getShortestAngle","angleBetween","angleBetweenY","angleBetweenPoints","angleBetweenPointsY","reverseAngle","angleRad","normalizeAngle","maxAdd","minSub","wrapValue","isOdd","isEven","minProperty","maxProperty","linearInterpolation","bezierInterpolation","bernstein","catmullRomInterpolation","catmullRom","factorial","res","roundAwayFromZero","sinCosGenerator","sinAmplitude","cosAmplitude","frequency","frq","cosTable","sinTable","hypot","distanceSq","distancePow","clampBottom","within","mapLinear","smoothstep","smootherstep","sign","percent","seeds","s0","sow","integer","real","integerInRange","realInRange","ary","weightedPick","QuadTree","maxObjects","maxLevels","_empty","subWidth","subHeight","populate","populateHandler","insert","retrieve","returnObjects","getHostName","location","hostname","checkDomainName","domain","updateQueryString","redirect","href","separator","getQueryString","parameter","keyValues","search","decodeURI","decodeURIComponent","frameBased","_tweens","_add","easeMap","Power0","Easing","Power1","Power2","Power3","Power4","Linear","None","Quad","Quadratic","Out","Cubic","Quart","Quartic","Quint","Quintic","Sine","Sinusoidal","Expo","Exponential","Circ","Circular","Elastic","Back","Bounce","Quad.easeIn","In","Cubic.easeIn","Quart.easeIn","Quint.easeIn","Sine.easeIn","Expo.easeIn","Circ.easeIn","Elastic.easeIn","Back.easeIn","Bounce.easeIn","Quad.easeOut","Cubic.easeOut","Quart.easeOut","Quint.easeOut","Sine.easeOut","Expo.easeOut","Circ.easeOut","Elastic.easeOut","Back.easeOut","Bounce.easeOut","Quad.easeInOut","InOut","Cubic.easeInOut","Quart.easeInOut","Quint.easeInOut","Sine.easeInOut","Expo.easeInOut","Circ.easeInOut","Elastic.easeInOut","Back.easeInOut","Bounce.easeInOut","_pauseAll","_resumeAll","pendingDelete","_manager","addTweens","numTweens","isTweening","checkIsRunning","some","_pause","_resume","pauseAll","resumeAll","manager","timeline","timeScale","repeatCounter","onStart","onLoop","onRepeat","onChildComplete","onComplete","chainedTween","isPaused","_onUpdateCallback","_onUpdateCallbackContext","_pausedTime","_hasStarted","ease","yoyo","Default","TweenData","vEnd","loadValues","updateTweenData","repeatDelay","yoyoDelay","easing","interpolation","repeatAll","chain","startTime","status","PENDING","RUNNING","LOOPED","COMPLETE","generateData","vStart","vStartCache","vEndCache","repeatTotal","inReverse","easingFunction","interpolationFunction","interpolationContext","isFrom","ms","fps","blob","reversed","prevTime","_desiredFps","suggestedFps","advancedTiming","updates","renders","ups","rps","fpsMin","fpsMax","msMin","msMax","pauseDuration","timeExpected","Timer","_frameCount","_elapsedAccumulator","_started","_timeLastSecond","_pauseStarted","_justResumed","_timers","timer","autoDestroy","previousDateNow","updateAdvancedTiming","updateTimers","interval","elapsedSince","since","elapsedSecondsSince","running","expired","nextTick","timeCap","_pauseTotal","_now","_marked","_diff","_newTick","MINUTE","SECOND","HALF","QUARTER","repeatCount","TimerEvent","clearEvents","clearPendingEvents","adjustEvents","baseTime","currentFrame","currentAnim","updateIfVisible","isLoaded","_frameData","_anims","_outputFrames","anim","copyFrameData","useNumericIndex","getFrameIndexes","validateFrames","checkFrameName","isPlaying","getAnimation","refreshFrame","gotFrame","getFrame","getFrameByName","_frameIndex","_frames","loopCount","isFinished","_pauseStartTime","_frameDiff","_frameSkip","onUpdate","isReversed","_timeLastFrame","_timeNextFrame","updateCurrentFrame","onAnimationStart$dispatch","reverseOnce","frameId","useLocalFrameIndex","frameIndex","directionalOffset","dispatchComplete","onAnimationComplete$dispatch","diff","onAnimationLoop$dispatch","signalUpdate","fromPlay","generateFrameNames","zeroPad","spriteSourceSizeW","spriteSourceSizeH","setTrim","actualWidth","actualHeight","destX","destY","destWidth","destHeight","getRect","_frameNames","getFrameRange","AnimationParser","spriteSheet","frameMax","margin","spacing","skipFrames","row","column","totalAvailable","lastAvailable","firstFrame","lastFrame","JSONData","json","newFrame","filename","sourceSize","spriteSourceSize","JSONDataPyxel","layers","tileheight","tilewidth","tiles","JSONDataHash","XMLData","xml","getElementsByTagName","frameX","frameY","autoResolveURL","binary","bitmapFont","compressedTexture","_urlMap","_urlResolver","_urlTemp","onSoundUnlock","_cacheMap","TEXTURE","SOUND","PHYSICS","BINARY","BITMAPFONT","JSON","XML","SHADER","RENDER_TEXTURE","_pendingCount","_addImages","DEFAULT_KEY","DEFAULT_SRC","MISSING","MISSING_KEY","MISSING_SRC","READY_TIMEOUT","addCompressedTextureMetaData","extension","arrayBuffer","removeImage","LoaderParser","fileFormat","_resolveURL","addCanvas","addImageAsync","_removePending","_addPending","addDefaultImage","addMissingImage","addSound","audioTag","decoded","isDecoding","touchLocked","addText","addPhysicsData","addTilemap","mapData","addBinary","binaryData","addBitmapFont","atlasData","atlasType","jsonBitmapFont","xmlBitmapFont","addBitmapFontFromAtlas","atlasKey","atlasFrame","dataKey","dataType","getBaseTexture","fontData","getJSON","getXML","addJSON","addXML","addVideo","isBlob","addShader","addSpriteSheet","addTextureAtlas","TEXTURE_ATLAS_XML_STARLING","TEXTURE_ATLAS_JSON_PYXEL","reloadSound","getSound","reloadSoundComplete","updateSound","decodedSound","isSoundDecoded","isSoundReady","checkKey","checkURL","checkCanvasKey","checkTextureKey","checkSoundKey","checkTextKey","checkPhysicsKey","checkTilemapKey","checkBinaryKey","checkBitmapDataKey","checkBitmapFontKey","checkJSONKey","checkXMLKey","checkVideoKey","checkShaderKey","checkRenderTextureKey","full","getTextureFrame","getSoundData","getText","getPhysicsData","fixtureKey","fixtures","fixture","getTilemapData","getBinary","getBitmapData","getVideo","getShader","getRenderTexture","getFrameCount","getFrameByIndex","getURL","getKeys","removeCanvas","destroyBaseTexture","removeSound","removeText","removePhysics","removeTilemap","removeBinary","removeBitmapData","removeBitmapFont","removeJSON","removeXML","removeVideo","removeShader","removeRenderTexture","removeSpriteSheet","removeTextureAtlas","baseURL","destroyItem","readyTimeout","_ready","_checkReady","isLoading","preloadSprite","crossOrigin","headers","requestedWith","onLoadStart","onBeforeLoadComplete","onLoadComplete","onPackComplete","onFileStart","onFileComplete","onFileError","enableParallel","maxParallelDownloads","_withSyncPointDepth","_fileList","_flightQueue","_processingHead","_fileLoadStarted","_totalPackCount","_totalFileCount","_loadedPackCount","_loadedFileCount","TEXTURE_ATLAS_JSON_ARRAY","TEXTURE_ATLAS_JSON_HASH","PHYSICS_LIME_CORONA_JSON","PHYSICS_PHASER_JSON","setPreloadSprite","checkKeyExists","getAssetIndex","bestFound","loaded","loading","getAsset","fileIndex","addToFileList","overwrite","syncPoint","currentFile","replaceInFileList","pack","imageFromBitmapData","imageFromGrid","imageFromTexture","pixelWidth","pixelHeight","palette","exkey","truecolor","images","urls","script","spritesheet","autoDecode","noAudio","jsonURL","jsonData","audiosprite","loadEvent","asBlob","CSV","TILED_JSON","tilemapCSV","tilemapTiledJSON","LIME_CORONA_JSON","textureURL","atlasURL","parseXml","atlasJSONArray","atlas","atlasJSONHash","atlasXML","withSyncPoint","addSyncPoint","asset","removeFile","updateProgress","processLoadQueue","finishedLoading","requestUrl","requestObject","progress","syncblock","inflightLimit","processPack","loadFile","abnormal","asyncComplete","errorMessage","packData","transformUrl","xhrLoad","fileComplete","loadImageTag","getAudioURL","usingWebAudio","usingAudioTag","loadAudioTag","fileError","getVideoURL","loadVideoTag","jsonLoadComplete","xmlLoadComplete","csvLoadComplete","onerror","controls","autoplay","playsInline","videoLoadEvent","canplay","Audio","playThroughEvent","xhr","XMLHttpRequest","open","responseType","setRequestHeader","message","send","videoType","uri","lastIndexOf","audioType","reason","loadNext","responseText","response","decode","language","defer","head","contentType","DOMParser","domparser","parseFromString","ActiveXObject","async","loadXML","totalLoadedFiles","totalLoadedPacks","progressFloat","info","common","getAttribute","letters","char","kernings","second","finalizeBitmapFont","_face","_lineHeight","_id","_xoffset","_yoffset","_xadvance","_second","_first","_amount","bitmapFontData","pvr","uintArray","byteArray","pvrHeader","pixelFormat","flags","colorSpace","channelType","depth","numberOfSurfaces","numberOfFaces","numberOfMipmaps","metaDataSize","byteLength","dds","ddsHeader","pitch","mipmapCount","formatSize","formatFlag","formatFourCC","formatBitCount","formatRBitMask","formatGBitMask","formatBBitMask","formatABitMask","caps1","caps2","caps3","caps4","reserved2","DXGIFormat","resourceDimension","miscFlag","arraySize","ktx","ktxHeader","imageSizeOffset","imageSize","glInternalFormat","endianness","glType","glTypeSize","glFormat","glBaseInternalFormat","pixelDepth","numberOfArrayElements","numberOfMipmapLevels","bytesOfKeyValueData","keyAndValueByteSize","pkm","pkmHeader","originalWidth","originalHeight","autoplayKey","sounds","spritemap","addMarker","connectToMaster","markers","totalDuration","currentTime","durationMS","stopTime","pausedPosition","pausedTime","currentMarker","fadeTween","pendingPlayback","override","allowMultiple","playOnce","externalNode","masterGainNode","gainNode","_sound","_globalVolume","_markedToDelete","_pendingStart","_removeFromSoundManager","_sourceId","masterGain","createGain","createGainNode","gain","soundHasUnlocked","onDecoded","onPlay","onStop","onMute","onMarkerComplete","_volume","_buffer","_muted","_tempMarker","_tempPosition","_tempVolume","_tempPause","_muteVolume","_tempLoop","_onDecodedEventDispatched","removeMarker","onEndedHandler","_removeOnEndedHandler","_disconnectSource","isDecoded","loopFull","forceRestart","_stopSourceAndDisconnect","_createSourceAndConnect","_addOnEndedHandler","_startSource","muted","mute","prevMarker","fadeIn","fadeTo","fadeOut","fadeComplete","updateGlobalVolume","globalVolume","createBufferSource","when","onended","onSoundDecode","onVolumeChange","onUnMute","onTouchUnlock","baseLatency","channels","_codeMuted","_unlockSource","_sounds","_watchList","_watching","_watchCallback","_watchContext","_resumeWebAudioOnClick","disableAudio","disableWebAudio","audioContext","setTouchLock","unlock","setTouchUnlock","resumeWebAudio","noteOn","stopAll","soundData","decodeAudioData","setDecodedCallback","files","removeByKey","close","dom","minWidth","minHeight","maxHeight","forceLandscape","forcePortrait","incorrectOrientation","_pageAlignHorizontally","_pageAlignVertically","onOrientationChange","enterIncorrectOrientation","leaveIncorrectOrientation","hasPhaserSetFullScreen","fullScreenTarget","_createdFullScreenTarget","onFullScreenInit","onFullScreenChange","onFullScreenError","screenOrientation","getScreenOrientation","scaleFactor","scaleFactorInversed","aspectRatio","sourceAspectRatio","windowConstraints","compatibility","supportsFullScreen","orientationFallback","noMargins","scrollTo","forceMinimumDocumentHeight","canExpandParent","clickTrampoline","_scaleMode","NO_SCALE","_fullScreenScaleMode","parentIsWindow","parentScaleFactor","trackParentInterval","onSizeChange","onResize","onResizeContext","_pendingScaleMode","_fullScreenRestore","_gameSize","_userScaleFactor","_userScaleTrim","_lastUpdate","_updateThrottle","_updateThrottleReset","_parentBounds","_tempBounds","_lastReportedCanvasSize","_lastReportedGameSize","_booted","setupScale","EXACT_FIT","SHOW_ALL","RESIZE","USER_SCALE","MODES","compat","_orientationChange","orientationChange","_windowResize","windowResize","_fullScreenChange","fullScreenChange","_fullScreenError","fullScreenError","_gameResumed","setGameSize","FlexGrid","fullScreenScaleMode","pageAlignHorizontally","alignH","pageAlignVertically","alignV","scaleH","scaleV","setUserScale","trimH","trimV","getParentBounds","visualBounds","updateDimensions","queueUpdate","currentScaleMode","hScale","vScale","hTrim","vTrim","setResizeCallback","signalSizeChange","setMinMax","prevThrottle","prevWidth","prevHeight","boundsChanged","orientationChanged","updateOrientationState","updateLayout","throttle","updateScalingAndBounds","forceOrientation","classifyOrientation","orientation","previousOrientation","previouslyIncorrect","isLandscape","isPortrait","changed","correctnessChanged","scrollTop","setMaximum","setExactFit","isFullScreen","boundingParent","setShowAll","resetCanvas","reflowCanvas","reflowGame","layoutBounds","clientRect","getBoundingClientRect","parentRect","offsetParent","wc","windowBounds","alignCanvas","parentBounds","canvasBounds","currentEdge","targetEdge","marginLeft","marginRight","marginTop","marginBottom","cssWidth","cssHeight","expanding","createFullScreenTarget","fsTarget","background","startFullScreen","allowTrampoline","cleanupCreatedTarget","initData","targetElement","navigationUI","stopFullScreen","prepScreenMode","enteringFullscreen","createdTarget","scaleSprite","letterBox","scaleX1","scaleY1","scaleX2","scaleY2","scaleOnWidth","fullscreenElement","webkitFullscreenElement","mozFullScreenElement","msFullscreenElement","bmd","columnWidth","renderShadow","currentColor","currentAlpha","_line","_rect","GEOM_AUTO","GEOM_RECTANGLE","GEOM_CIRCLE","GEOM_POINT","GEOM_LINE","GEOM_ELLIPSE","soundInfo","sourceId","currentSrc","ended","filled","rectangle","geom","cameraInfo","hideIfUp","downColor","upColor","inactiveColor","mx","my","worldX","worldY","_pointerButtonIcon","btn","spriteInputInfo","justDown","justUp","inputInfo","showDetails","_inputHandler","_inputHandlerStatusIcon","_inputHandlerCaptureIcon","spriteBounds","ropeSegments","segment","spriteInfo","spriteCoords","lineInfo","forceType","ellipse","quadTree","quadtree","NINJA","Ninja","BOX2D","Box2D","renderBody","bodyInfo","renderBodyInfo","box2d","box2dWorld","renderDebugDraw","box2dBody","displayList","canvasPool","phaser","factor","loader","box","scrollY","scrollLeft","scrollX","clientTop","clientLeft","cushion","calibrate","coords","getAspectRatio","inLayoutViewport","primaryFallback","screen","mozOrientation","msOrientation","matchMedia","documentBounds","pageXOffset","pageYOffset","clientWidth","clientHeight","offsetWidth","scrollWidth","offsetHeight","scrollHeight","randomIndex","removeRandomItem","newLength","transposeMatrix","sourceRowCount","sourceColCount","rotateMatrix","findClosest","arr","NaN","low","high","rotateRight","rotateLeft","numberArray","numberArrayStep","LinkedList","entity","palettes","0","PALETTE_ARNE","PALETTE_JMP","PALETTE_CGA","PALETTE_C64","PALETTE_JAPANESE_MACHINE","boundsCustom","boundsFull","boundsNone","positionCustom","positionFluid","positionFull","positionNone","scaleCustom","scaleFluid","scaleFull","scaleNone","customWidth","customHeight","customOffsetX","customOffsetY","ratioH","ratioV","createCustomLayer","layer","FlexLayer","createFluidLayer","createFullLayer","createFixedLayer","persist","fitSprite","topLeft","topMiddle","topRight","bottomLeft","bottomMiddle","bottomRight","RED","ORANGE","YELLOW","GREEN","AQUA","BLUE","VIOLET","WHITE","BLACK","GRAY","RGBtoHSL","RGBtoHSV","fromRGBA","toRGBA","toABGR","RGBArrayToHex","rgb","hueToColor","HSVtoRGB","color32","getColor","getColor32","RGBtoString","componentToHex","hexToRGB","hex","hexToColor","webToColor","web","tempColor","getRGB","HSVColorWheel","HSLColorWheel","interpolateColor","color1","color2","currentStep","src1","src2","hsv1","hsv2","dh","h3","interpolateColorWithRGB","or","og","ob","interpolateRGB","getRandomColor","getWebRGB","getAlpha","getAlphaFloat","getRed","getGreen","getBlue","blendNormal","blendAverage","blendSubtract","blendNegation","blendLinearDodge","blendLinearBurn","blendLinearLight","blendVividLight","blendPinLight","blendHardMix","blendReflect","blendGlow","blendPhoenix","arcade","ninja","chipmunk","matter","CHIPMUNK","MATTERJS","P2","Matter","startSystem","system","enableAABB","checkCollision","OVERLAP_BIAS","forceX","sortDirection","LEFT_RIGHT","skipQuadTree","_total","SORT_NONE","RIGHT_LEFT","TOP_BOTTOM","BOTTOM_TOP","updateMotion","allowRotation","velocityDelta","computeVelocity","angularAcceleration","angularDrag","maxAngular","acceleration","drag","maxVelocity","allowGravity","allowDrag","object1","object2","overlapCallback","processCallback","collideObjects","collide","collideCallback","sortLeftRight","sortRightLeft","sortTopBottom","sortBottomTop","overlapOnly","collideHandler","collideGroupVsSelf","collideSpriteVsSprite","collideSpriteVsGroup","collideSpriteVsTilemapLayer","collideGroupVsGroup","collideGroupVsTilemapLayer","sprite1","sprite2","separate","items","bounds1","bounds2","group1","group2","body1","body2","none","isCircle","separateCircle","bodyRect","bodyCircle","resultX","resultY","separateX","separateY","onOverlap","onCollide","circleBodyIntersects","getOverlapX","getOverlapY","angleCollision","immovable","customSeparateX","tempVel1","tempVel2","bounce","maxOverlap","deltaAbsX","embedded","touching","overlapX","deltaAbsY","overlapY","moves","nv1","nv2","avg","customSeparateY","getObjectsUnderPointer","getObjectsAtLocation","callbackArg","moveToObject","maxTime","distanceBetween","moveToPointer","angleToPointer","distanceToPointer","moveToXY","distanceToXY","velocityFromAngle","velocityFromRotation","accelerationFromRotation","accelerateToObject","xSpeedMax","ySpeedMax","accelerateToPointer","accelerateToXY","angleToXY","closest","targets","farthest","angleBetweenCenters","worldAngleToPointer","preRotation","newVelocity","deltaMax","worldBounce","onWorldBounds","facing","overlapR","collideWorldBounds","wasTouching","blocked","tilePadding","syncBounds","isMoving","stopVelocityOnCollide","moveTimer","moveDistance","moveDuration","moveTarget","moveEnd","onMoveComplete","movementCallback","movementCallbackContext","_sx","_sy","updateBounds","asx","asy","updateCenter","updateMovement","collided","stopMovement","stopVelocity","check","moveFrom","setCircle","onFloor","onCeiling","onWall","TilemapCollision","TILE_BIAS","tilemapLayer","getTiles","getTileOffsetX","getTileOffsetY","separateTile","tile","tilemapLayerOffsetX","tilemapLayerOffsetY","collisionCallback","collisionCallbackContext","faceLeft","faceRight","faceTop","faceBottom","tileCheckX","tileCheckY","collideRight","collideLeft","processTileSeparationX","collideDown","collideUp","processTileSeparationY","useElapsedTime","materials","InversePointProxy","walls","onBodyAdded","onBodyRemoved","onSpringAdded","onSpringRemoved","onConstraintAdded","onConstraintRemoved","onContactMaterialAdded","onContactMaterialRemoved","postBroadphaseCallback","onBeginContact","onEndContact","mpx","mpxi","pxm","pxmi","beginContactHandler","endContactHandler","collisionGroups","nothingCollisionGroup","CollisionGroup","boundsCollisionGroup","everythingCollisionGroup","boundsCollidesWith","_toRemove","_collisionGroupID","_boundsLeft","_boundsRight","_boundsTop","_boundsBottom","_boundsOwnGroup","removeBodyNextStep","setImpactEvents","impactHandler","setPostBroadphaseCallback","postBroadphaseHandler","_bodyCallbacks","_bodyCallbackContext","_groupCallbacks","_groupCallbackContext","setCollisionGroup","setWorldMaterial","updateBoundsCollisionGroup","setupWall","wall","fixedStepTime","impactCallback","createDistanceConstraint","getBody","createGearConstraint","createRevoluteConstraint","createLockConstraint","createPrismaticConstraint","lockRotation","anchorA","anchorB","setMaterial","createMaterial","createContactMaterial","getSprings","getConstraints","filterStatic","physicsPosition","query","toJSON","createCollisionGroup","bitmask","createSpring","worldA","worldB","localA","localB","createRotationalSpring","createBody","addPolygon","createParticle","convertCollisionObjects","map","collision","shapeData","polyline","addRectangle","clearTilemapLayerBodies","getLayer","convertTilemap","optimize","collides","getTileRight","FixtureList","rawList","namedFixtures","groupedFixtures","allFixtures","setCategory","bit","getFixtures","setMask","setSensor","getFixtureByKey","getGroup","groupID","_ref","_results","callee","PointProxy","collidesWith","removeNextStep","debugBody","_collideWorldBounds","setRectangleFromSprite","createBodyCallback","createGroupCallback","getCollisionMask","updateCollisionMask","clearCollision","clearGroup","clearMask","removeCollisionGroup","clearCallback","shapeChanged","impulse","localX","localY","setZeroRotation","setZeroVelocity","setZeroDamping","moveForward","moveBackward","thrust","thrustLeft","thrustRight","moveLeft","moveRight","updateSpriteTransform","resetDamping","resetMass","clearShapes","addCircle","addPlane","addParticle","addLine","addCapsule","setRectangle","addPhaserPolygon","createdFixtures","fixtureData","shapesOfFixture","addFixture","generatedShapes","categoryBits","maskBits","isSensor","polygons","loadPolygon","BodyDebug","settings","defaultSettings","pixelsPerLengthUnit","debugPolygons","ppu","lw","vrot","_j","_ref1","randomPastelHex","drawCapsule","drawPlane","drawLine","drawRectangle","drawConvex","drawPath","lastx","lasty","diagMargin","diagSize","maxLength","xd","yd","mix","rgbToHex","ImageCollection","firstgid","imageWidth","imageHeight","imageMargin","imageSpacing","containsImageIndex","imageIndex","gid","Tile","flipped","scanned","setCollisionCallback","setCollision","resetCollision","isInteresting","faces","TilemapParser","widthInPixels","heightInPixels","tilesets","imagecollections","collideIndexes","currentLayer","debugMap","_tempA","NORTH","EAST","SOUTH","WEST","setTileSize","createBlankLayer","addTilesetImage","tileset","tileMargin","tileSpacing","getTilesetIndex","setImage","newSet","Tileset","countX","countY","columns","rows","createFromObjects","CustomClass","adjustY","adjustSize","createFromTiles","replacements","customClass","lh","createLayer","getLayerIndex","rootLayer","groupEnd","indexes","getImageIndex","setTileIndexCallback","setTileLocationCallback","recalculate","setCollisionByIndex","calculateFaces","setCollisionBetween","setCollisionByExclusion","layerArg","setPreventRecalculate","preventingRecalculate","needToRecalculate","above","below","getTileAbove","getTileBelow","getTileLeft","setLayer","hasTile","removeTile","removeTileWorldXY","putTile","putTileWorldXY","searchTileIndex","getTile","nonNull","getTileWorldXY","paste","tileblock","tileA","tileB","swapHandler","removeAllLayers","dump","txt","renderSettings","enableScrollDelta","overdrawRatio","copyCanvas","debugSettings","missingImageFill","debuggedTileOverfill","forceFullRedraw","debugAlpha","facingEdgeStroke","collidingTileOverfill","scrollFactorX","scrollFactorY","rayStepRate","_wrap","_mc","renderWidth","renderHeight","_scrollX","_scrollY","tileOffset","ensureSharedCopyCanvas","sharedCopyCanvas","resizeWorld","_fixX","_unfixX","_fixY","_unfixY","getTileX","getTileY","getTileXY","getRayCastTiles","interestingFace","coord","fetchAll","wy","wx","resolveTileset","tileIndex","setIndex","containsTileIndex","resetTilesetCache","setScale","xScale","yScale","shiftCanvas","copyW","copyH","copyContext","renderRegion","lastAlpha","xmax","ymax","baseX","normStartX","renderDeltaScroll","shiftX","shiftY","renderW","renderH","trueTop","trueBottom","trueLeft","trueRight","renderFull","redrawAll","mc","renderDebug","baseY","normStartY","INSERT_NULL","getEmptyData","parseCSV","parseTiledJSON","_slice","fields","sliced","parseObjectGroup","objectGroup","objectsCollection","collisionCollection","nameKey","relativePosition","curl","encoding","binaryString","atob","bytes","opacity","offsetx","offsety","flippedVal","curi","tilesetGroupObjects","lastSet","tileproperties","tileProperties","updateTileData","imagewidth","imageheight","newCollection","objectgroup","lastgid","sid","drawCoords","coordIndex","setSpacing","rowCount","colCount","autoScale","scaleData","_s","autoAlpha","alphaData","_a","onEmit","setAlphaData","setScaleData","emitters","ID","minAngle","maxAngle","minSpeed","maxSpeed","minParticleSpeed","maxParticleSpeed","minParticleScale","maxParticleScale","minRotation","maxRotation","minParticleAlpha","maxParticleAlpha","particleClass","particleDrag","particleAnchor","emitX","emitY","particleBringToTop","particleSendToBack","counts","emitted","failed","totalEmitted","totalFailed","_gravity","_minParticleScale","_maxParticleScale","_timer","_counter","_flowQuantity","_flowTotal","_explode","emitParticle","makeParticles","particleArguments","particle","rndKey","rndFrame","explode","flow","forceQuantity","getNextParticle","resetParticle","setXSpeed","setYSpeed","setRotation","setAlpha","rate","tweenData","setAngle","lifespanOutput","bullets","autoExpandBulletsGroup","autofire","shots","fireLimit","fireRate","fireRateVariance","fireFrom","fireAngle","bulletInheritSpriteSpeed","bulletAnimation","bulletFrameRandom","bulletFrameCycle","bulletWorldWrap","bulletWorldWrapPadding","bulletAngleOffset","bulletAngleVariance","bulletSpeed","bulletSpeedVariance","bulletLifespan","bulletKillDistance","bulletGravity","bulletRotateToVelocity","bulletKey","bulletFrame","_bulletClass","Bullet","_bulletCollideWorldBounds","_bulletKillType","KILL_WORLD_BOUNDS","customBody","bulletBounds","bulletFrames","bulletFrameIndex","anims","onFire","onKill","onFireLimit","trackedSprite","trackedPointer","multiFire","_hasFired","trackRotation","trackOffset","_nextFire","_tempNextFire","_rotatedPoint","KILL_NEVER","KILL_LIFESPAN","KILL_DISTANCE","KILL_WEAPON_BOUNDS","KILL_CAMERA_BOUNDS","KILL_STATIC_BOUNDS","resetShots","newLimit","fire","trackSprite","trackPointer","fireMany","fireOffset","moveX","moveY","bullet","bulletManager","killType","bulletKillType","killDistance","rotateToVelocity","bodyDirty","bulletCollideWorldBounds","fireAtPointer","fireAtSprite","fireAtXY","setBulletBodyOffset","setBulletFrames","cycle","addBulletAnimation","debugBodies","onAccess","onTimeout","playWhenUnlocked","timeout","videoStream","isStreaming","retryLimit","retry","retryInterval","_retryID","_pending","_pendingChangeSource","_autoplay","_endCallback","_playCallback","_video","createVideoFromBlob","videoWidth","videoHeight","createVideoFromURL","snapshot","connectToMediaStream","stream","startMediaStream","captureAudio","removeVideoElement","setAttribute","getUserMediaTimeout","getUserMediaSuccess","getUserMediaError","mozSrcObject","srcObject","createObjectURL","onloadeddata","checkStream","checkVideoProgress","change","playbackRate","setPause","setResume","playHandler","getTracks","track","playing","changeSource","grab","hasChildNodes","firstChild","removeAttribute","canUseNewCanvasBlendModes"],"mappings":"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","file":"phaser.min.js"} \ No newline at end of file diff --git a/build/phaser.min.js b/build/phaser.min.js index 847a62b3b..d90ed0107 100644 --- a/build/phaser.min.js +++ b/build/phaser.min.js @@ -1,4 +1,4 @@ -/* Phaser v2.14.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ +/* Phaser v2.15.0 - http://phaser.io - @photonstorm - (c) 2016 Photon Storm Ltd. */ -!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);H=u.length;for(T=0;T!==H;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var n=i._uvs;if(n){var r,o,a,h,l=t.anchor.x,c=t.anchor.y;if(i.trim){var u=i.trim;r=(o=u.x-l*u.width)+i.crop.width,a=(h=u.y-c*u.height)+i.crop.height}else r=i.frame.width*(1-l),o=i.frame.width*-l,a=i.frame.height*(1-c),h=i.frame.height*-c;var d=this.currentBatchSize*this.vertexSize,p=i.baseTexture.resolution,f=i.baseTexture.textureIndex,g=s.a/p,m=s.b/p,y=s.c/p,v=s.d/p,x=s.tx,b=s.ty,_=i.crop.height;if(i.rotated){var w=s.a,T=s.b,P=s.c,C=s.d,S=o,A=r;x=s.c*_+x,b=s.d*_+b,g=6.123233995736766e-17*w-P,m=6.123233995736766e-17*T-C,y=w+6.123233995736766e-17*P,v=T+6.123233995736766e-17*C,i._updateUvsInverted(),r=a,o=h,a=A,h=S}var E=this.colors,M=this.positions,R=t.tint,L=(R>>16)+(65280&R)+((255&R)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(M[d++]=g*o+y*h+x|0,M[d++]=v*h+m*o+b|0,M[d++]=n.x0,M[d++]=n.y0,E[d++]=L,M[d++]=f,M[d++]=g*r+y*h+x|0,M[d++]=v*h+m*r+b|0,M[d++]=n.x1,M[d++]=n.y1,E[d++]=L,M[d++]=f,M[d++]=g*r+y*a+x|0,M[d++]=v*a+m*r+b|0,M[d++]=n.x2,M[d++]=n.y2,E[d++]=L,M[d++]=f,M[d++]=g*o+y*a+x|0,M[d++]=v*a+m*o+b|0,M[d++]=n.x3,M[d++]=n.y3,E[d++]=L,M[d++]=f):(M[d++]=g*o+y*h+x,M[d++]=v*h+m*o+b,M[d++]=n.x0,M[d++]=n.y0,E[d++]=L,M[d++]=f,M[d++]=g*r+y*h+x,M[d++]=v*h+m*r+b,M[d++]=n.x1,M[d++]=n.y1,E[d++]=L,M[d++]=f,M[d++]=g*r+y*a+x,M[d++]=v*a+m*r+b,M[d++]=n.x2,M[d++]=n.y2,E[d++]=L,M[d++]=f,M[d++]=g*o+y*a+x,M[d++]=v*a+m*o+b,M[d++]=n.x3,M[d++]=n.y3,E[d++]=L,M[d++]=f),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=t.texture.baseTexture.textureIndex;this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var n=t._uvs,r=e.baseTexture.width,o=e.baseTexture.height;t.tilePosition.x%=r*t.tileScaleOffset.x,t.tilePosition.y%=o*t.tileScaleOffset.y;var a=t.tilePosition.x/(r*t.tileScaleOffset.x),h=t.tilePosition.y/(o*t.tileScaleOffset.y),l=t.width/r/(t.tileScale.x*t.tileScaleOffset.x),c=t.height/o/(t.tileScale.y*t.tileScaleOffset.y);n.x0=0-a,n.y0=0-h,n.x1=1*l-a,n.y1=0-h,n.x2=1*l-a,n.y2=1*c-h,n.x3=0-a,n.y3=1*c-h;var u=t.tint,d=(u>>16)+(65280&u)+((255&u)<<16)+(255*t.worldAlpha<<24),p=this.positions,f=this.colors,g=t.width,m=t.height,y=t.anchor.x,v=t.anchor.y,x=g*(1-y),b=g*-y,_=m*(1-v),w=m*-v,T=this.currentBatchSize*this.vertexSize,P=e.baseTexture.resolution,C=t.worldTransform,S=C.a/P,A=C.b/P,E=C.c/P,M=C.d/P,R=C.tx,L=C.ty;p[T++]=S*b+E*w+R,p[T++]=M*w+A*b+L,p[T++]=n.x0,p[T++]=n.y0,f[T++]=d,p[T++]=i,p[T++]=S*x+E*w+R,p[T++]=M*w+A*x+L,p[T++]=n.x1,p[T++]=n.y1,f[T++]=d,p[T++]=i,p[T++]=S*x+E*_+R,p[T++]=M*_+A*x+L,p[T++]=n.x2,p[T++]=n.y2,f[T++]=d,p[T++]=i,p[T++]=S*b+E*_+R,p[T++]=M*_+A*b+L,p[T++]=n.x3,p[T++]=n.y3,f[T++]=d,p[T++]=i,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(u!==r&&!v||f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){var t=this,e=e||{VERSION:"2.14.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},u={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); +!function(t){if("object"==typeof exports)module.exports=t();else{var e;"undefined"!=typeof window?e=window:"undefined"!=typeof global?e=global:"undefined"!=typeof self&&(e=self),e.p2=t()}}(function(){return function t(e,i,s){function n(o,a){if(!i[o]){if(!e[o]){var h="function"==typeof require&&require;if(!a&&h)return h(o,!0);if(r)return r(o,!0);throw new Error("Cannot find module '"+o+"'")}var l=i[o]={exports:{}};e[o][0].call(l.exports,function(t){var i=e[o][1][t];return n(i||t)},l,l.exports,t,e,i,s)}return i[o].exports}for(var r="function"==typeof require&&require,o=0;o=0&&h<=1&&l>=0&&l<=1}},{"./Scalar":4}],2:[function(t,e,i){function s(){}e.exports=s,s.area=function(t,e,i){return(e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1])},s.left=function(t,e,i){return s.area(t,e,i)>0},s.leftOn=function(t,e,i){return s.area(t,e,i)>=0},s.right=function(t,e,i){return s.area(t,e,i)<0},s.rightOn=function(t,e,i){return s.area(t,e,i)<=0};var n=[],r=[];s.collinear=function(t,e,i,o){if(o){var a=n,h=r;a[0]=e[0]-t[0],a[1]=e[1]-t[1],h[0]=i[0]-e[0],h[1]=i[1]-e[1];var l=a[0]*h[0]+a[1]*h[1],c=Math.sqrt(a[0]*a[0]+a[1]*a[1]),u=Math.sqrt(h[0]*h[0]+h[1]*h[1]);return Math.acos(l/(c*u))t.vertices.length)throw new Error("lol2");if(e<0)throw new Error("lol3");for(var s=e;se[t][0])&&(t=i);o.left(this.at(t-1),this.at(t),this.at(t+1))||this.reverse()},s.prototype.reverse=function(){for(var t=[],e=0,i=this.vertices.length;e!==i;e++)t.push(this.vertices.pop());this.vertices=t},s.prototype.isReflex=function(t){return o.right(this.at(t-1),this.at(t),this.at(t+1))};var h=[],l=[];s.prototype.canSee=function(t,e){var i,s,n=h,a=l;if(o.leftOn(this.at(t+1),this.at(t),this.at(e))&&o.rightOn(this.at(t-1),this.at(t),this.at(e)))return!1;s=o.sqdist(this.at(t),this.at(e));for(var c=0;c!==this.vertices.length;++c)if((c+1)%this.vertices.length!==t&&c!==t&&o.leftOn(this.at(t),this.at(e),this.at(c+1))&&o.rightOn(this.at(t),this.at(e),this.at(c))&&(n[0]=this.at(t),n[1]=this.at(e),a[0]=this.at(c),a[1]=this.at(c+1),i=r.lineInt(n,a),o.sqdist(this.at(t),i)0?this.slice(t):[this]},s.prototype.slice=function(t){if(0==t.length)return[this];if(t instanceof Array&&t.length&&t[0]instanceof Array&&2==t[0].length&&t[0][0]instanceof Array){for(var e=[this],i=0;ia)return console.warn("quickDecomp: max level ("+a+") reached."),t;for(var T=0;Tm&&(m+=this.vertices.length),g=Number.MAX_VALUE,m3&&i>=0;--i)o.collinear(this.at(i-1),this.at(i),this.at(i+1),t)&&(this.vertices.splice(i%this.vertices.length,1),i--,e++);return e}},{"./Line":1,"./Point":2,"./Scalar":4}],4:[function(t,e,i){function s(){}e.exports=s,s.eq=function(t,e,i){return i=i||0,Math.abs(t-e) (http://steffe.se)",keywords:["p2.js","p2","physics","engine","2d"],main:"./src/p2.js",engines:{node:"*"},repository:{type:"git",url:"https://github.com/schteppe/p2.js.git"},bugs:{url:"https://github.com/schteppe/p2.js/issues"},licenses:[{type:"MIT"}],devDependencies:{grunt:"^0.4.5","grunt-contrib-jshint":"^0.11.2","grunt-contrib-nodeunit":"^0.4.1","grunt-contrib-uglify":"~0.4.0","grunt-contrib-watch":"~0.5.0","grunt-browserify":"~2.0.1","grunt-contrib-concat":"^0.4.0"},dependencies:{"poly-decomp":"0.1.1"}}},{}],7:[function(t,e,i){function s(t){this.lowerBound=n.create(),t&&t.lowerBound&&n.copy(this.lowerBound,t.lowerBound),this.upperBound=n.create(),t&&t.upperBound&&n.copy(this.upperBound,t.upperBound)}var n=t("../math/vec2");t("../utils/Utils");e.exports=s;var r=n.create();s.prototype.setFromPoints=function(t,e,i,s){var o=this.lowerBound,a=this.upperBound;"number"!=typeof i&&(i=0),0!==i?n.rotate(o,t[0],i):n.copy(o,t[0]),n.copy(a,o);for(var h=Math.cos(i),l=Math.sin(i),c=1;ca[f]&&(a[f]=u[f]),u[f]i&&(this.lowerBound[e]=i);var s=t.upperBound[e];this.upperBound[e]h?-1:a}},{"../math/vec2":30,"../utils/Utils":57}],8:[function(t,e,i){function s(t){this.type=t,this.result=[],this.world=null,this.boundingVolumeType=s.AABB}var n=t("../math/vec2"),r=t("../objects/Body");e.exports=s,s.AABB=1,s.BOUNDING_CIRCLE=2,s.prototype.setWorld=function(t){this.world=t},s.prototype.getCollisionPairs=function(t){};var o=n.create();s.boundingRadiusCheck=function(t,e){n.sub(o,t.position,e.position);var i=n.squaredLength(o),s=t.boundingRadius+e.boundingRadius;return i<=s*s},s.aabbCheck=function(t,e){return t.getAABB().overlaps(e.getAABB())},s.prototype.boundingVolumeCheck=function(t,e){var i;switch(this.boundingVolumeType){case s.BOUNDING_CIRCLE:i=s.boundingRadiusCheck(t,e);break;case s.AABB:i=s.aabbCheck(t,e);break;default:throw new Error("Bounding volume type not recognized: "+this.boundingVolumeType)}return i},s.canCollide=function(t,e){var i=r.KINEMATIC,s=r.STATIC;return(t.type!==s||e.type!==s)&&(!(t.type===i&&e.type===s||t.type===s&&e.type===i)&&((t.type!==i||e.type!==i)&&((t.sleepState!==r.SLEEPING||e.sleepState!==r.SLEEPING)&&!(t.sleepState===r.SLEEPING&&e.type===s||e.sleepState===r.SLEEPING&&t.type===s))))},s.NAIVE=1,s.SAP=2},{"../math/vec2":30,"../objects/Body":31}],9:[function(t,e,i){function s(){n.call(this,n.NAIVE)}t("../shapes/Circle"),t("../shapes/Plane"),t("../shapes/Shape"),t("../shapes/Particle");var n=t("../collision/Broadphase");t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.getCollisionPairs=function(t){var e=t.bodies,i=this.result;i.length=0;for(var s=0,r=e.length;s!==r;s++)for(var o=e[s],a=0;az&&Y0)for(G=0;GMath.pow(g,2))return 0;if(u)return!0;var m=this.createContactEquation(t,n,e,r);return a(m.normalA,l,i),o.normalize(m.normalA,m.normalA),o.scale(m.contactPointA,m.normalA,d),o.scale(m.contactPointB,m.normalA,-p),h(m.contactPointA,m.contactPointA,i),a(m.contactPointA,m.contactPointA,t.position),h(m.contactPointB,m.contactPointB,l),a(m.contactPointB,m.contactPointB,n.position),this.contactEquations.push(m),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(m)),1},s.prototype[m.PLANE|m.CONVEX]=s.prototype[m.PLANE|m.BOX]=s.prototype.planeConvex=function(t,e,i,s,n,r,c,u,d){var p=x,f=b,g=_,m=0;o.rotate(f,v,s);for(var y=0;y!==r.vertices.length;y++){var w=r.vertices[y];if(o.rotate(p,w,u),h(p,p,c),a(g,p,i),l(g,f)<=0){if(d)return!0;m++;var T=this.createContactEquation(t,n,e,r);a(g,p,i),o.copy(T.normalA,f);var P=l(g,T.normalA);o.scale(g,T.normalA,P),a(T.contactPointB,p,n.position),a(T.contactPointA,p,g),a(T.contactPointA,T.contactPointA,t.position),this.contactEquations.push(T),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(T))}}return this.enableFrictionReduction&&this.enableFriction&&m&&this.frictionEquations.push(this.createFrictionFromAverage(m)),m},s.prototype[m.PARTICLE|m.PLANE]=s.prototype.particlePlane=function(t,e,i,s,n,r,h,c,u){var d=x,p=b;c=c||0,a(d,i,h),o.rotate(p,v,c);var f=l(d,p);if(f>0)return 0;if(u)return!0;var g=this.createContactEquation(n,t,r,e);return o.copy(g.normalA,p),o.scale(d,g.normalA,f),a(g.contactPointA,i,d),a(g.contactPointA,g.contactPointA,n.position),a(g.contactPointB,i,t.position),this.contactEquations.push(g),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(g)),1},s.prototype[m.CIRCLE|m.PARTICLE]=s.prototype.circleParticle=function(t,e,i,s,n,r,l,c,u){var d=x;if(a(d,l,i),o.squaredLength(d)>Math.pow(e.radius,2))return 0;if(u)return!0;var p=this.createContactEquation(t,n,e,r);return o.copy(p.normalA,d),o.normalize(p.normalA,p.normalA),o.scale(p.contactPointA,p.normalA,e.radius),h(p.contactPointA,p.contactPointA,i),a(p.contactPointA,p.contactPointA,t.position),a(p.contactPointB,l,n.position),this.contactEquations.push(p),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(p)),1};var K=new f({radius:1}),J=o.create(),Q=o.create();o.create();s.prototype[m.PLANE|m.CAPSULE]=s.prototype.planeCapsule=function(t,e,i,s,n,r,a,l,c){var u=J,d=Q,p=K;o.set(u,-r.length/2,0),o.rotate(u,u,l),h(u,u,a),o.set(d,r.length/2,0),o.rotate(d,d,l),h(d,d,a),p.radius=r.radius;var f;this.enableFrictionReduction&&(f=this.enableFriction,this.enableFriction=!1);var g=this.circlePlane(n,p,u,0,t,e,i,s,c),m=this.circlePlane(n,p,d,0,t,e,i,s,c);if(this.enableFrictionReduction&&(this.enableFriction=f),c)return g||m;var y=g+m;return this.enableFrictionReduction&&y&&this.frictionEquations.push(this.createFrictionFromAverage(y)),y},s.prototype[m.CIRCLE|m.PLANE]=s.prototype.circlePlane=function(t,e,i,s,n,r,c,u,d){var p=t,f=e,g=i,m=n,y=c,w=u;w=w||0;var T=x,P=b,C=_;a(T,g,y),o.rotate(P,v,w);var S=l(P,T);if(S>f.radius)return 0;if(d)return!0;var A=this.createContactEquation(m,p,r,e);return o.copy(A.normalA,P),o.scale(A.contactPointB,A.normalA,-f.radius),h(A.contactPointB,A.contactPointB,g),a(A.contactPointB,A.contactPointB,p.position),o.scale(C,A.normalA,S),a(A.contactPointA,T,C),h(A.contactPointA,A.contactPointA,y),a(A.contactPointA,A.contactPointA,m.position),this.contactEquations.push(A),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(A)),1},s.prototype[m.CONVEX]=s.prototype[m.CONVEX|m.BOX]=s.prototype[m.BOX]=s.prototype.convexConvex=function(t,e,i,n,r,c,u,d,p,f){var g=x,m=b,y=_,v=w,P=T,E=C,M=S,R=A,L=0,f="number"==typeof f?f:0;if(!s.findSeparatingAxis(e,i,n,c,u,d,g))return 0;a(M,u,i),l(g,M)>0&&o.scale(g,g,-1);var B=s.getClosestEdge(e,n,g,!0),I=s.getClosestEdge(c,d,g);if(-1===B||-1===I)return 0;for(var O=0;O<2;O++){var k=B,F=I,D=e,U=c,G=i,N=u,X=n,W=d,j=t,V=r;if(0===O){var H;H=k,k=F,F=H,H=D,D=U,U=H,H=G,G=N,N=H,H=X,X=W,W=H,H=j,j=V,V=H}for(var q=F;q=3){if(p)return!0;var Z=this.createContactEquation(j,V,D,U);L++;var J=D.vertices[k%D.vertices.length],Q=D.vertices[(k+1)%D.vertices.length];o.rotate(y,J,X),o.rotate(v,Q,X),h(y,y,G),h(v,v,G),a(P,v,y),o.rotate90cw(Z.normalA,P),o.normalize(Z.normalA,Z.normalA),a(M,m,y);var $=l(Z.normalA,M);o.scale(E,Z.normalA,$),a(Z.contactPointA,m,G),a(Z.contactPointA,Z.contactPointA,E),h(Z.contactPointA,Z.contactPointA,G),a(Z.contactPointA,Z.contactPointA,j.position),a(Z.contactPointB,m,N),h(Z.contactPointB,Z.contactPointB,N),a(Z.contactPointB,Z.contactPointB,V.position),this.contactEquations.push(Z),this.enableFrictionReduction||this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(Z))}}}return this.enableFrictionReduction&&this.enableFriction&&L&&this.frictionEquations.push(this.createFrictionFromAverage(L)),L};var Z=o.fromValues(0,0);s.projectConvexOntoAxis=function(t,e,i,s,n){var r,a,h=null,c=null,u=Z;o.rotate(u,s,-i);for(var d=0;dh)&&(h=a),(null===c||ah){var p=c;c=h,h=p}var f=l(e,s);o.set(n,c+f,h+f)};var $=o.fromValues(0,0),tt=o.fromValues(0,0),et=o.fromValues(0,0),it=o.fromValues(0,0),st=o.fromValues(0,0),nt=o.fromValues(0,0);s.findSeparatingAxis=function(t,e,i,n,r,h,l){var c=null,u=!1,d=!1,p=$,f=tt,g=et,m=it,v=st,x=nt;if(t instanceof y&&n instanceof y)for(P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(C=0;2!==C;C++){0===C?o.set(m,0,1):1===C&&o.set(m,1,0),0!==_&&o.rotate(m,m,_),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0),u=(S=T[0]-w[1])<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}else for(var P=0;2!==P;P++){var b=t,_=i;1===P&&(b=n,_=h);for(var C=0;C!==b.vertices.length;C++){o.rotate(f,b.vertices[C],_),o.rotate(g,b.vertices[(C+1)%b.vertices.length],_),a(p,g,f),o.rotate90cw(m,p),o.normalize(m,m),s.projectConvexOntoAxis(t,e,i,m,v),s.projectConvexOntoAxis(n,r,h,m,x);var w=v,T=x;v[0]>x[0]&&(T=v,w=x,!0);var S=T[0]-w[1];u=S<=0,(null===c||S>c)&&(o.copy(l,m),c=S,d=u)}}return d};var rt=o.fromValues(0,0),ot=o.fromValues(0,0),at=o.fromValues(0,0);s.getClosestEdge=function(t,e,i,s){var n=rt,r=ot,h=at;o.rotate(n,i,-e),s&&o.scale(n,n,-1);for(var c=-1,u=t.vertices.length,d=-1,p=0;p!==u;p++){a(r,t.vertices[(p+1)%u],t.vertices[p%u]),o.rotate90cw(h,r),o.normalize(h,h);var f=l(h,n);(-1===c||f>d)&&(c=p%u,d=f)}return c};var ht=o.create(),lt=o.create(),ct=o.create(),ut=o.create(),dt=o.create(),pt=o.create(),ft=o.create();s.prototype[m.CIRCLE|m.HEIGHTFIELD]=s.prototype.circleHeightfield=function(t,e,i,s,n,r,l,c,u,d){var p=r.heights,d=d||e.radius,f=r.elementWidth,g=lt,m=ht,y=dt,v=ft,x=pt,b=ct,_=ut,w=Math.floor((i[0]-d-l[0])/f),T=Math.ceil((i[0]+d-l[0])/f);w<0&&(w=0),T>=p.length&&(T=p.length-1);for(var P=p[w],C=p[T],S=w;SP&&(P=p[S]);if(i[1]-d>P)return!u&&0;for(var A=!1,S=w;S=b[0]&&m[0]<_[0]&&E<=0){if(u)return!0;A=!0,o.scale(g,x,-E),o.add(y,m,g),o.copy(v,x);M=this.createContactEquation(n,t,r,e);o.copy(M.normalA,v),o.scale(M.contactPointB,M.normalA,-d),h(M.contactPointB,M.contactPointB,i),a(M.contactPointB,M.contactPointB,t.position),o.copy(M.contactPointA,y),o.sub(M.contactPointA,M.contactPointA,n.position),this.contactEquations.push(M),this.enableFriction&&this.frictionEquations.push(this.createFrictionFromContact(M))}}if(A=!1,d>0)for(S=w;S<=T;S++)if(o.set(b,S*f,p[S]),o.add(b,b,l),o.sub(g,i,b),o.squaredLength(g)=c.length&&(y=c.length-1);for(var v=c[m],x=c[y],b=m;bv&&(v=c[b]);if(t.aabb.lowerBound[1]>v)return!l&&0;for(var _=0,b=m;b=0||r.containsPoint(this.from))&&this.intersectBody(t,n)}};var o=r.create();s.prototype.intersectBody=function(t,e){var i=this.checkCollisionResponse;if(!i||e.collisionResponse)for(var s=o,n=0,a=e.shapes.length;ne.boundingRadius*e.boundingRadius||(this._currentBody=r,this._currentShape=e,e.raycast(t,this,s,i),this._currentBody=this._currentShape=null)},s.prototype.getAABB=function(t){var e=this.to,i=this.from;r.set(t.lowerBound,Math.min(e[0],i[0]),Math.min(e[1],i[1])),r.set(t.upperBound,Math.max(e[0],i[0]),Math.max(e[1],i[1]))};r.create();s.prototype.reportIntersection=function(t,e,i,n){this.from,this.to;var o=this._currentShape,a=this._currentBody;if(!(this.skipBackfaces&&r.dot(i,this.direction)>0))switch(this.mode){case s.ALL:t.set(i,o,a,e,n),this.callback(t);break;case s.CLOSEST:(e=0&&!(t[r].aabb.lowerBound[e]<=n.aabb.lowerBound[e]);r--)t[r+1]=t[r];t[r+1]=n}return t},s.prototype.sortList=function(){var t=this.axisList,e=this.axisIndex;s.sortAxisList(t,e)},s.prototype.getCollisionPairs=function(t){var e=this.axisList,i=this.result,s=this.axisIndex;i.length=0;for(var n=e.length;n--;){var o=e[n];o.aabbNeedsUpdate&&o.updateAABB()}this.sortList();for(var a=0,h=0|e.length;a!==h;a++)for(var l=e[a],c=a+1;cthis.upperLimit&&(r.maxForce=0,r.minForce=-this.maxForce,this.distance=this.upperLimit,u=!0),this.lowerLimitEnabled&&this.positioni?(a.scale(n.normalA,l,-1),a.sub(n.contactPointA,c,o.position),a.sub(n.contactPointB,u,h.position),a.scale(f,l,i),a.add(n.contactPointA,n.contactPointA,f),-1===t.indexOf(n)&&t.push(n)):-1!==(b=t.indexOf(n))&&t.splice(b,1),this.lowerLimitEnabled&&va?(f.angle=a,-1===n.indexOf(f)&&n.push(f)):-1!==(y=n.indexOf(f))&&n.splice(y,1),this.lowerLimitEnabled&&m>1;if(e<3)return[];for(var i=[],n=[],r=0;r3;){var a=n[(r+0)%o],h=n[(r+1)%o],l=n[(r+2)%o],c=t[2*a],u=t[2*a+1],d=t[2*h],p=t[2*h+1],f=t[2*l],g=t[2*l+1],m=!1;if(s._convex(c,u,d,p,f,g)){m=!0;for(var y=0;y3*o)break}return i.push(n[0],n[1],n[2]),i},s._PointInTriangle=function(t,e,i,s,n,r,o,a){var h=o-i,l=a-s,c=n-i,u=r-s,d=t-i,p=e-s,f=h*h+l*l,g=h*c+l*u,m=h*d+l*p,y=c*c+u*u,v=c*d+u*p,x=1/(f*y-g*g),b=(y*m-g*v)*x,_=(f*v-g*m)*x;return b>=0&&_>=0&&b+_<1},s._convex=function(t,e,i,s,n,r){return(e-s)*(n-i)+(i-t)*(r-s)>=0},e.exports=s},{}],30:[function(t,e,i){var s=e.exports={},n=t("../utils/Utils");s.crossLength=function(t,e){return t[0]*e[1]-t[1]*e[0]},s.crossVZ=function(t,e,i){return s.rotate(t,e,-Math.PI/2),s.scale(t,t,i),t},s.crossZV=function(t,e,i){return s.rotate(t,i,Math.PI/2),s.scale(t,t,e),t},s.rotate=function(t,e,i){if(0!==i){var s=Math.cos(i),n=Math.sin(i),r=e[0],o=e[1];t[0]=s*r-n*o,t[1]=n*r+s*o}else t[0]=e[0],t[1]=e[1]},s.rotate90cw=function(t,e){var i=e[0],s=e[1];t[0]=s,t[1]=-i},s.toLocalFrame=function(t,e,i,n){s.copy(t,e),s.sub(t,t,i),s.rotate(t,t,-n)},s.toGlobalFrame=function(t,e,i,n){s.copy(t,e),s.rotate(t,t,n),s.add(t,t,i)},s.vectorToLocalFrame=function(t,e,i){s.rotate(t,e,-i)},s.vectorToGlobalFrame=function(t,e,i){s.rotate(t,e,i)},s.centroid=function(t,e,i,n){return s.add(t,e,i),s.add(t,t,n),s.scale(t,t,1/3),t},s.create=function(){var t=new n.ARRAY_TYPE(2);return t[0]=0,t[1]=0,t},s.clone=function(t){var e=new n.ARRAY_TYPE(2);return e[0]=t[0],e[1]=t[1],e},s.fromValues=function(t,e){var i=new n.ARRAY_TYPE(2);return i[0]=t,i[1]=e,i},s.copy=function(t,e){return t[0]=e[0],t[1]=e[1],t},s.set=function(t,e,i){return t[0]=e,t[1]=i,t},s.add=function(t,e,i){return t[0]=e[0]+i[0],t[1]=e[1]+i[1],t},s.subtract=function(t,e,i){return t[0]=e[0]-i[0],t[1]=e[1]-i[1],t},s.sub=s.subtract,s.multiply=function(t,e,i){return t[0]=e[0]*i[0],t[1]=e[1]*i[1],t},s.mul=s.multiply,s.divide=function(t,e,i){return t[0]=e[0]/i[0],t[1]=e[1]/i[1],t},s.div=s.divide,s.scale=function(t,e,i){return t[0]=e[0]*i,t[1]=e[1]*i,t},s.distance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return Math.sqrt(i*i+s*s)},s.dist=s.distance,s.squaredDistance=function(t,e){var i=e[0]-t[0],s=e[1]-t[1];return i*i+s*s},s.sqrDist=s.squaredDistance,s.length=function(t){var e=t[0],i=t[1];return Math.sqrt(e*e+i*i)},s.len=s.length,s.squaredLength=function(t){var e=t[0],i=t[1];return e*e+i*i},s.sqrLen=s.squaredLength,s.negate=function(t,e){return t[0]=-e[0],t[1]=-e[1],t},s.normalize=function(t,e){var i=e[0],s=e[1],n=i*i+s*s;return n>0&&(n=1/Math.sqrt(n),t[0]=e[0]*n,t[1]=e[1]*n),t},s.dot=function(t,e){return t[0]*e[0]+t[1]*e[1]},s.str=function(t){return"vec2("+t[0]+", "+t[1]+")"},s.lerp=function(t,e,i,s){var n=e[0],r=e[1];return t[0]=n+s*(i[0]-n),t[1]=r+s*(i[1]-r),t},s.reflect=function(t,e,i){var s=e[0]*i[0]+e[1]*i[1];t[0]=e[0]-2*i[0]*s,t[1]=e[1]-2*i[1]*s},s.getLineSegmentsIntersection=function(t,e,i,n,r){var o=s.getLineSegmentsIntersectionFraction(e,i,n,r);return!(o<0)&&(t[0]=e[0]+o*(i[0]-e[0]),t[1]=e[1]+o*(i[1]-e[1]),!0)},s.getLineSegmentsIntersectionFraction=function(t,e,i,s){var n,r,o=e[0]-t[0],a=e[1]-t[1],h=s[0]-i[0],l=s[1]-i[1];return n=(-a*(t[0]-i[0])+o*(t[1]-i[1]))/(-h*a+o*l),r=(h*(t[1]-i[1])-l*(t[0]-i[0]))/(-h*a+o*l),n>=0&&n<=1&&r>=0&&r<=1?r:-1}},{"../utils/Utils":57}],31:[function(t,e,i){function s(t){t=t||{},c.call(this),this.id=t.id||++s._idCounter,this.world=null,this.shapes=[],this.mass=t.mass||0,this.invMass=0,this.inertia=0,this.invInertia=0,this.invMassSolve=0,this.invInertiaSolve=0,this.fixedRotation=!!t.fixedRotation,this.fixedX=!!t.fixedX,this.fixedY=!!t.fixedY,this.massMultiplier=n.create(),this.position=n.fromValues(0,0),t.position&&n.copy(this.position,t.position),this.interpolatedPosition=n.fromValues(0,0),this.interpolatedAngle=0,this.previousPosition=n.fromValues(0,0),this.previousAngle=0,this.velocity=n.fromValues(0,0),t.velocity&&n.copy(this.velocity,t.velocity),this.vlambda=n.fromValues(0,0),this.wlambda=0,this.angle=t.angle||0,this.angularVelocity=t.angularVelocity||0,this.force=n.create(),t.force&&n.copy(this.force,t.force),this.angularForce=t.angularForce||0,this.damping="number"==typeof t.damping?t.damping:.1,this.angularDamping="number"==typeof t.angularDamping?t.angularDamping:.1,this.type=s.STATIC,void 0!==t.type?this.type=t.type:t.mass?this.type=s.DYNAMIC:this.type=s.STATIC,this.boundingRadius=0,this.aabb=new l,this.aabbNeedsUpdate=!0,this.allowSleep=void 0===t.allowSleep||t.allowSleep,this.wantsToSleep=!1,this.sleepState=s.AWAKE,this.sleepSpeedLimit=void 0!==t.sleepSpeedLimit?t.sleepSpeedLimit:.2,this.sleepTimeLimit=void 0!==t.sleepTimeLimit?t.sleepTimeLimit:1,this.gravityScale=void 0!==t.gravityScale?t.gravityScale:1,this.collisionResponse=void 0===t.collisionResponse||t.collisionResponse,this.idleTime=0,this.timeLastSleepy=0,this.ccdSpeedThreshold=void 0!==t.ccdSpeedThreshold?t.ccdSpeedThreshold:-1,this.ccdIterations=void 0!==t.ccdIterations?t.ccdIterations:10,this.concavePath=null,this._wakeUpAfterNarrowphase=!1,this.updateMassProperties()}var n=t("../math/vec2"),r=t("poly-decomp"),o=t("../shapes/Convex"),a=t("../collision/RaycastResult"),h=t("../collision/Ray"),l=t("../collision/AABB"),c=t("../events/EventEmitter");e.exports=s,s.prototype=new c,s.prototype.constructor=s,s._idCounter=0,s.prototype.updateSolveMassProperties=function(){this.sleepState===s.SLEEPING||this.type===s.KINEMATIC?(this.invMassSolve=0,this.invInertiaSolve=0):(this.invMassSolve=this.invMass,this.invInertiaSolve=this.invInertia)},s.prototype.setDensity=function(t){var e=this.getArea();this.mass=e*t,this.updateMassProperties()},s.prototype.getArea=function(){for(var t=0,e=0;ei&&(i=o+a)}this.boundingRadius=i},s.prototype.addShape=function(t,e,i){if(t.body)throw new Error("A shape can only be added to one body.");t.body=this,e?n.copy(t.position,e):n.set(t.position,0,0),t.angle=i||0,this.shapes.push(t),this.updateMassProperties(),this.updateBoundingRadius(),this.aabbNeedsUpdate=!0},s.prototype.removeShape=function(t){var e=this.shapes.indexOf(t);return-1!==e&&(this.shapes.splice(e,1),this.aabbNeedsUpdate=!0,t.body=null,!0)},s.prototype.updateMassProperties=function(){if(this.type===s.STATIC||this.type===s.KINEMATIC)this.mass=Number.MAX_VALUE,this.invMass=0,this.inertia=Number.MAX_VALUE,this.invInertia=0;else{var t=this.shapes,e=t.length,i=this.mass/e,r=0;if(this.fixedRotation)this.inertia=Number.MAX_VALUE,this.invInertia=0;else{for(var o=0;o0?1/r:0}this.invMass=1/this.mass,n.set(this.massMultiplier,this.fixedX?0:1,this.fixedY?0:1)}};n.create();s.prototype.applyForce=function(t,e){if(n.add(this.force,this.force,t),e){var i=n.crossLength(e,t);this.angularForce+=i}};var p=n.create(),f=n.create(),g=n.create();s.prototype.applyForceLocal=function(t,e){e=e||g;var i=p,s=f;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyForce(i,s)};var m=n.create();s.prototype.applyImpulse=function(t,e){if(this.type===s.DYNAMIC){var i=m;if(n.scale(i,t,this.invMass),n.multiply(i,this.massMultiplier,i),n.add(this.velocity,i,this.velocity),e){var r=n.crossLength(e,t);r*=this.invInertia,this.angularVelocity+=r}}};var y=n.create(),v=n.create(),x=n.create();s.prototype.applyImpulseLocal=function(t,e){e=e||x;var i=y,s=v;this.vectorToWorldFrame(i,t),this.vectorToWorldFrame(s,e),this.applyImpulse(i,s)},s.prototype.toLocalFrame=function(t,e){n.toLocalFrame(t,e,this.position,this.angle)},s.prototype.toWorldFrame=function(t,e){n.toGlobalFrame(t,e,this.position,this.angle)},s.prototype.vectorToLocalFrame=function(t,e){n.vectorToLocalFrame(t,e,this.angle)},s.prototype.vectorToWorldFrame=function(t,e){n.vectorToGlobalFrame(t,e,this.angle)},s.prototype.fromPolygon=function(t,e){e=e||{};for(h=this.shapes.length;h>=0;--h)this.removeShape(this.shapes[h]);var i=new r.Polygon;if(i.vertices=t,i.makeCCW(),"number"==typeof e.removeCollinearPoints&&i.removeCollinearPoints(e.removeCollinearPoints),void 0===e.skipSimpleCheck&&!i.isSimple())return!1;this.concavePath=i.vertices.slice(0);for(h=0;h=Math.pow(this.sleepSpeedLimit,2)?(this.idleTime=0,this.sleepState=s.AWAKE):(this.idleTime+=i,this.sleepState=s.SLEEPY),this.idleTime>this.sleepTimeLimit&&(e?this.wantsToSleep=!0:this.sleep())}},s.prototype.overlaps=function(t){return this.world.overlapKeeper.bodiesAreOverlapping(this,t)};var T=n.create(),P=n.create();s.prototype.integrate=function(t){var e=this.invMass,i=this.force,s=this.position,r=this.velocity;n.copy(this.previousPosition,this.position),this.previousAngle=this.angle,this.fixedRotation||(this.angularVelocity+=this.angularForce*this.invInertia*t),n.scale(T,i,t*e),n.multiply(T,this.massMultiplier,T),n.add(r,T,r),this.integrateToTimeOfImpact(t)||(n.scale(P,r,t),n.add(s,s,P),this.fixedRotation||(this.angle+=this.angularVelocity*t)),this.aabbNeedsUpdate=!0};var C=new a,S=new h({mode:h.ALL}),A=n.create(),E=n.create(),M=n.create(),R=n.create();s.prototype.integrateToTimeOfImpact=function(t){if(this.ccdSpeedThreshold<0||n.squaredLength(this.velocity)=l&&h=0&&(r.rotate(p,u,s),r.scale(p,p,2*y-1),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}for(var x=Math.pow(this.radius,2)+Math.pow(m,2),y=0;y<2;y++){r.set(f,m*(2*y-1),0),r.toGlobalFrame(f,f,i,s);var b=Math.pow(o[0]-n[0],2)+Math.pow(o[1]-n[1],2),_=2*((o[0]-n[0])*(n[0]-f[0])+(o[1]-n[1])*(n[1]-f[1])),w=Math.pow(n[0]-f[0],2)+Math.pow(n[1]-f[1],2)-Math.pow(this.radius,2),T=Math.pow(_,2)-4*b*w;if(!(T<0))if(0===T){if(r.lerp(d,n,o,T),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,T,p,-1),t.shouldStop(e)))return}else{var P=Math.sqrt(T),C=1/(2*b),S=(-_-P)*C,A=(-_+P)*C;if(S>=0&&S<=1&&(r.lerp(d,n,o,S),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,S,p,-1),t.shouldStop(e))))return;if(A>=0&&A<=1&&(r.lerp(d,n,o,A),r.squaredDistance(d,i)>x&&(r.sub(p,d,f),r.normalize(p,p),e.reportIntersection(t,A,p,-1),t.shouldStop(e))))return}}}},{"../math/vec2":30,"./Shape":45}],39:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={radius:arguments[0]},console.warn("The Circle constructor signature has changed. Please use the following format: new Circle({ radius: 1 })")),t=t||{},this.radius=t.radius||1,t.type=n.CIRCLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){var e=this.radius;return t*e*e/2},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.radius},s.prototype.updateArea=function(){this.area=Math.PI*this.radius*this.radius},s.prototype.computeAABB=function(t,e,i){var s=this.radius;r.set(t.upperBound,s,s),r.set(t.lowerBound,-s,-s),e&&(r.add(t.lowerBound,t.lowerBound,e),r.add(t.upperBound,t.upperBound,e))};var o=r.create(),a=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,h=e.to,l=this.radius,c=Math.pow(h[0]-n[0],2)+Math.pow(h[1]-n[1],2),u=2*((h[0]-n[0])*(n[0]-i[0])+(h[1]-n[1])*(n[1]-i[1])),d=Math.pow(n[0]-i[0],2)+Math.pow(n[1]-i[1],2)-Math.pow(l,2),p=Math.pow(u,2)-4*c*d,f=o,g=a;if(!(p<0))if(0===p)r.lerp(f,n,h,p),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,p,g,-1);else{var m=Math.sqrt(p),y=1/(2*c),v=(-u-m)*y,x=(-u+m)*y;if(v>=0&&v<=1&&(r.lerp(f,n,h,v),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,v,g,-1),t.shouldStop(e)))return;x>=0&&x<=1&&(r.lerp(f,n,h,x),r.sub(g,f,i),r.normalize(g,g),e.reportIntersection(t,x,g,-1))}}},{"../math/vec2":30,"./Shape":45}],40:[function(t,e,i){function s(t){Array.isArray(arguments[0])&&(t={vertices:arguments[0],axes:arguments[1]},console.warn("The Convex constructor signature has changed. Please use the following format: new Convex({ vertices: [...], ... })")),t=t||{},this.vertices=[];for(var e=void 0!==t.vertices?t.vertices:[],i=0;in)&&(n=s),(null===o||sn){var l=o;o=n,n=l}r.set(e,o,n)},s.prototype.projectOntoWorldAxis=function(t,e,i,s){var n=h;this.projectOntoLocalAxis(t,s),0!==i?r.rotate(n,t,i):n=t;var o=r.dot(e,n);r.set(s,s[0]+o,s[1]+o)},s.prototype.updateTriangles=function(){this.triangles.length=0;for(var t=[],e=0;ee&&(e=s)}this.boundingRadius=Math.sqrt(e)},s.triangleArea=function(t,e,i){return.5*((e[0]-t[0])*(i[1]-t[1])-(i[0]-t[0])*(e[1]-t[1]))},s.prototype.updateArea=function(){this.updateTriangles(),this.area=0;for(var t=this.triangles,e=this.vertices,i=0;i!==t.length;i++){var n=t[i],r=e[n[0]],o=e[n[1]],a=e[n[2]],h=s.triangleArea(r,o,a);this.area+=h}},s.prototype.computeAABB=function(t,e,i){t.setFromPoints(this.vertices,e,i,0)};var f=r.create(),g=r.create(),m=r.create();s.prototype.raycast=function(t,e,i,s){var n=f,o=g,a=m,h=this.vertices;r.toLocalFrame(n,e.from,i,s),r.toLocalFrame(o,e.to,i,s);for(var l=h.length,c=0;c=0&&(r.sub(a,d,u),r.rotate(a,a,-Math.PI/2+s),r.normalize(a,a),e.reportIntersection(t,p,a,c))}}},{"../math/polyk":29,"../math/vec2":30,"./Shape":45,"poly-decomp":5}],41:[function(t,e,i){function s(t){if(Array.isArray(arguments[0])){if(t={heights:arguments[0]},"object"==typeof arguments[1])for(var e in arguments[1])t[e]=arguments[1][e];console.warn("The Heightfield constructor signature has changed. Please use the following format: new Heightfield({ heights: [...], ... })")}t=t||{},this.heights=t.heights?t.heights.slice(0):[],this.maxValue=t.maxValue||null,this.minValue=t.minValue||null,this.elementWidth=t.elementWidth||.1,void 0!==t.maxValue&&void 0!==t.minValue||this.updateMaxMinValues(),t.type=n.HEIGHTFIELD,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.updateMaxMinValues=function(){for(var t=this.heights,e=t[0],i=t[0],s=0;s!==t.length;s++){var n=t[s];n>e&&(e=n),nv){var x=y;y=v,v=x}for(var b=0;b=0&&(r.sub(d,f,p),r.rotate(d,d,s+Math.PI/2),r.normalize(d,d),e.reportIntersection(t,_,d,-1),t.shouldStop(e)))return}}},{"../math/vec2":30,"../utils/Utils":57,"./Shape":45}],42:[function(t,e,i){function s(t){"number"==typeof arguments[0]&&(t={length:arguments[0]},console.warn("The Line constructor signature has changed. Please use the following format: new Line({ length: 1, ... })")),t=t||{},this.length=t.length||1,t.type=n.LINE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return t*Math.pow(this.length,2)/12},s.prototype.updateBoundingRadius=function(){this.boundingRadius=this.length/2};var o=[r.create(),r.create()];s.prototype.computeAABB=function(t,e,i){var s=this.length/2;r.set(o[0],-s,0),r.set(o[1],s,0),t.setFromPoints(o,e,i,0)};r.create();var a=r.create(),h=r.create(),l=r.create(),c=r.fromValues(0,1);s.prototype.raycast=function(t,e,i,s){var n=e.from,o=e.to,u=h,d=l,p=this.length/2;r.set(u,-p,0),r.set(d,p,0),r.toGlobalFrame(u,u,i,s),r.toGlobalFrame(d,d,i,s);var f=r.getLineSegmentsIntersectionFraction(u,d,n,o);if(f>=0){var g=a;r.rotate(g,c,s),e.reportIntersection(t,f,g,-1)}}},{"../math/vec2":30,"./Shape":45}],43:[function(t,e,i){function s(t){(t=t||{}).type=n.PARTICLE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=0},s.prototype.computeAABB=function(t,e,i){r.copy(t.lowerBound,e),r.copy(t.upperBound,e)}},{"../math/vec2":30,"./Shape":45}],44:[function(t,e,i){function s(t){(t=t||{}).type=n.PLANE,n.call(this,t)}var n=t("./Shape"),r=t("../math/vec2");t("../utils/Utils");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.computeMomentOfInertia=function(t){return 0},s.prototype.updateBoundingRadius=function(){this.boundingRadius=Number.MAX_VALUE},s.prototype.computeAABB=function(t,e,i){var s=i%(2*Math.PI),n=r.set,o=t.lowerBound,a=t.upperBound;n(o,-1e7,-1e7),n(a,1e7,1e7),0===s?a[1]=0:s===Math.PI/2?o[0]=0:s===Math.PI?o[1]=0:s===3*Math.PI/2&&(a[0]=0)},s.prototype.updateArea=function(){this.area=Number.MAX_VALUE};var o=r.create(),a=(r.create(),r.create(),r.create()),h=r.create();s.prototype.raycast=function(t,e,i,s){var n=e.from,l=e.to,c=e.direction,u=o,d=a,p=h;r.set(d,0,1),r.rotate(d,d,s),r.sub(p,n,i);var f=r.dot(p,d);if(r.sub(p,l,i),!(f*r.dot(p,d)>0||r.squaredDistance(n,l)p*a&&(g=p*a-u),r[t]+=g,e.addToWlambda(g),g}},{"../equations/FrictionEquation":23,"../math/vec2":30,"../utils/Utils":57,"./Solver":47}],47:[function(t,e,i){function s(t,e){t=t||{},n.call(this),this.type=e,this.equations=[],this.equationSortFunction=t.equationSortFunction||!1}t("../utils/Utils");var n=t("../events/EventEmitter");e.exports=s,(s.prototype=new n).constructor=s,s.prototype.solve=function(t,e){throw new Error("Solver.solve should be implemented by subclasses!")};var r={bodies:[]};s.prototype.solveIsland=function(t,e){this.removeAllEquations(),e.equations.length&&(this.addEquations(e.equations),r.bodies.length=0,e.getBodies(r.bodies),r.bodies.length&&this.solve(t,r))},s.prototype.sortEquations=function(){this.equationSortFunction&&this.equations.sort(this.equationSortFunction)},s.prototype.addEquation=function(t){t.enabled&&this.equations.push(t)},s.prototype.addEquations=function(t){for(var e=0,i=t.length;e!==i;e++){var s=t[e];s.enabled&&this.equations.push(s)}},s.prototype.removeEquation=function(t){var e=this.equations.indexOf(t);-1!==e&&this.equations.splice(e,1)},s.prototype.removeAllEquations=function(){this.equations.length=0},s.GS=1,s.ISLAND=2},{"../events/EventEmitter":26,"../utils/Utils":57}],48:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/ContactEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/ContactEquation":21,"./Pool":55}],49:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../equations/FrictionEquation"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=null,this}},{"../equations/FrictionEquation":23,"./Pool":55}],50:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/IslandNode"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/IslandNode":60,"./Pool":55}],51:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("../world/Island"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.reset(),this}},{"../world/Island":58,"./Pool":55}],52:[function(t,e,i){function s(){this.overlappingShapesLastState=new n,this.overlappingShapesCurrentState=new n,this.recordPool=new r({size:16}),this.tmpDict=new n,this.tmpArray1=[]}var n=t("./TupleDictionary"),r=(t("./OverlapKeeperRecord"),t("./OverlapKeeperRecordPool"));t("./Utils");e.exports=s,s.prototype.tick=function(){for(var t=this.overlappingShapesLastState,e=this.overlappingShapesCurrentState,i=t.keys.length;i--;){var s=t.keys[i],n=t.getByKey(s);e.getByKey(s);n&&this.recordPool.release(n)}t.reset(),t.copy(e),e.reset()},s.prototype.setOverlapping=function(t,e,i,s){this.overlappingShapesLastState;var n=this.overlappingShapesCurrentState;if(!n.get(e.id,s.id)){var r=this.recordPool.get();r.set(t,e,i,s),n.set(e.id,s.id,r)}},s.prototype.getNewOverlaps=function(t){return this.getDiff(this.overlappingShapesLastState,this.overlappingShapesCurrentState,t)},s.prototype.getEndOverlaps=function(t){return this.getDiff(this.overlappingShapesCurrentState,this.overlappingShapesLastState,t)},s.prototype.bodiesAreOverlapping=function(t,e){for(var i=this.overlappingShapesCurrentState,s=i.keys.length;s--;){var n=i.keys[s],r=i.data[n];if(r.bodyA===t&&r.bodyB===e||r.bodyA===e&&r.bodyB===t)return!0}return!1},s.prototype.getDiff=function(t,e,i){var s=t,n=e;(i=i||[]).length=0;for(var r=n.keys.length;r--;){var o=n.keys[r],a=n.data[o];if(!a)throw new Error("Key "+o+" had no data!");s.data[o]||i.push(a)}return i},s.prototype.isNewOverlap=function(t,e){var i=0|t.id,s=0|e.id,n=this.overlappingShapesLastState,r=this.overlappingShapesCurrentState;return!n.get(i,s)&&!!r.get(i,s)},s.prototype.getNewBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getNewOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getEndBodyOverlaps=function(t){this.tmpArray1.length=0;var e=this.getEndOverlaps(this.tmpArray1);return this.getBodyDiff(e,t)},s.prototype.getBodyDiff=function(t,e){e=e||[];for(var i=this.tmpDict,s=t.length;s--;){var n=t[s];i.set(0|n.bodyA.id,0|n.bodyB.id,n)}for(s=i.keys.length;s--;)(n=i.getByKey(i.keys[s]))&&e.push(n.bodyA,n.bodyB);return i.reset(),e}},{"./OverlapKeeperRecord":53,"./OverlapKeeperRecordPool":54,"./TupleDictionary":56,"./Utils":57}],53:[function(t,e,i){function s(t,e,i,s){this.shapeA=e,this.shapeB=s,this.bodyA=t,this.bodyB=i}e.exports=s,s.prototype.set=function(t,e,i,n){s.call(this,t,e,i,n)}},{}],54:[function(t,e,i){function s(){r.apply(this,arguments)}var n=t("./OverlapKeeperRecord"),r=t("./Pool");e.exports=s,(s.prototype=new r).constructor=s,s.prototype.create=function(){return new n},s.prototype.destroy=function(t){return t.bodyA=t.bodyB=t.shapeA=t.shapeB=null,this}},{"./OverlapKeeperRecord":53,"./Pool":55}],55:[function(t,e,i){function s(t){t=t||{},this.objects=[],void 0!==t.size&&this.resize(t.size)}e.exports=s,s.prototype.resize=function(t){for(var e=this.objects;e.length>t;)e.pop();for(;e.length(0|e)?t<<16|65535&e:e<<16|65535&t)},s.prototype.getByKey=function(t){return t|=0,this.data[t]},s.prototype.get=function(t,e){return this.data[this.getKey(t,e)]},s.prototype.set=function(t,e,i){if(!i)throw new Error("No data!");var s=this.getKey(t,e);return this.data[s]||this.keys.push(s),this.data[s]=i,s},s.prototype.reset=function(){for(var t=this.data,e=this.keys,i=e.length;i--;)delete t[e[i]];e.length=0},s.prototype.copy=function(t){this.reset(),n.appendArray(this.keys,t.keys);for(var e=t.keys.length;e--;){var i=t.keys[e];this.data[i]=t.data[i]}}},{"./Utils":57}],57:[function(t,e,i){function s(){}e.exports=s,s.appendArray=function(t,e){if(e.length<15e4)t.push.apply(t,e);else for(var i=0,s=e.length;i!==s;++i)t.push(e[i])},s.splice=function(t,e,i){i=i||1;for(var s=e,n=t.length-i;s=t&&s=0;T-=2)for(S=b.length-2;S>=0;S-=2)(w[T]===b[S]&&w[T+1]===b[S+1]||w[T+1]===b[S]&&w[T]===b[S+1])&&b.splice(S,2);H=u.length;for(T=0;T!==H;T++){var C=u[T];if(!C.collideConnected)for(var S=b.length-2;S>=0;S-=2)(C.bodyA===b[S]&&C.bodyB===b[S+1]||C.bodyB===b[S]&&C.bodyA===b[S+1])&&b.splice(S,2)}this.postBroadphaseEvent.pairs=b,this.emit(this.postBroadphaseEvent),this.postBroadphaseEvent.pairs=null,c.reset(this);for(var T=0,A=b.length;T!==A;T+=2)for(var E=b[T],M=b[T+1],R=0,L=E.shapes.length;R!==L;R++)for(var B=E.shapes[R],I=B.position,O=B.angle,k=0,F=M.shapes.length;k!==F;k++){var D=M.shapes[k],U=D.position,G=D.angle,N=this.defaultContactMaterial;if(B.material&&D.material){var X=this.getContactMaterial(B.material,D.material);X&&(N=X)}this.runNarrowphase(c,E,B,I,O,M,D,U,G,N,this.frictionGravity)}for(T=0;T!==h;T++)(q=n[T])._wakeUpAfterNarrowphase&&(q.wakeUp(),q._wakeUpAfterNarrowphase=!1);if(this.has("endContact")){this.overlapKeeper.getEndOverlaps(P);for(var W=this.endContactEvent,k=P.length;k--;){var j=P[k];W.shapeA=j.shapeA,W.shapeB=j.shapeB,W.bodyA=j.bodyA,W.bodyB=j.bodyB,this.emit(W)}P.length=0}var V=this.preSolveEvent;V.contactEquations=c.contactEquations,V.frictionEquations=c.frictionEquations,this.emit(V),V.contactEquations=V.frictionEquations=null;var H=u.length;for(T=0;T!==H;T++)u[T].update();if(c.contactEquations.length||c.frictionEquations.length||H)if(this.islandSplit){for(g.equations.length=0,v.appendArray(g.equations,c.contactEquations),v.appendArray(g.equations,c.frictionEquations),T=0;T!==H;T++)v.appendArray(g.equations,u[T].equations);g.split(this);for(T=0;T!==g.islands.length;T++)(K=g.islands[T]).equations.length&&a.solveIsland(t,K)}else{for(a.addEquations(c.contactEquations),a.addEquations(c.frictionEquations),T=0;T!==H;T++)a.addEquations(u[T].equations);this.solveConstraints&&a.solve(t,this),a.removeAllEquations()}for(T=0;T!==h;T++){var q=n[T];q.integrate(t)}for(T=0;T!==h;T++)n[T].setZeroForce();if(this.emitImpactEvent&&this.has("impact"))for(var Y=this.impactEvent,T=0;T!==c.contactEquations.length;T++){var z=c.contactEquations[T];z.firstImpact&&(Y.bodyA=z.bodyA,Y.bodyB=z.bodyB,Y.shapeA=z.shapeA,Y.shapeB=z.shapeB,Y.contactEquation=z,this.emit(Y))}if(this.sleepMode===s.BODY_SLEEPING)for(T=0;T!==h;T++)n[T].sleepTick(this.time,!1,t);else if(this.sleepMode===s.ISLAND_SLEEPING&&this.islandSplit){for(T=0;T!==h;T++)n[T].sleepTick(this.time,!0,t);for(T=0;T0,t.frictionCoefficient=c.friction;var g;g=e.type===d.STATIC||e.type===d.KINEMATIC?o.mass:o.type===d.STATIC||o.type===d.KINEMATIC?e.mass:e.mass*o.mass/(e.mass+o.mass),t.slipForce=c.friction*u*g,t.restitution=c.restitution,t.surfaceVelocity=c.surfaceVelocity,t.frictionStiffness=c.frictionStiffness,t.frictionRelaxation=c.frictionRelaxation,t.stiffness=c.stiffness,t.relaxation=c.relaxation,t.contactSkinSize=c.contactSkinSize,t.enabledEquations=e.collisionResponse&&o.collisionResponse&&i.collisionResponse&&a.collisionResponse;var m=t[i.type|a.type],y=0;if(m){var v=i.sensor||a.sensor,x=t.frictionEquations.length;y=i.type=2*Math.pow(o.sleepSpeedLimit,2)&&(e._wakeUpAfterNarrowphase=!0),o.allowSleep&&o.type===d.DYNAMIC&&o.sleepState===d.SLEEPING&&e.sleepState===d.AWAKE&&e.type!==d.STATIC&&r.squaredLength(e.velocity)+Math.pow(e.angularVelocity,2)>=2*Math.pow(e.sleepSpeedLimit,2)&&(o._wakeUpAfterNarrowphase=!0),this.overlapKeeper.setOverlapping(e,i,o,a),this.has("beginContact")&&this.overlapKeeper.isNewOverlap(i,a)){var _=this.beginContactEvent;if(_.shapeA=i,_.shapeB=a,_.bodyA=e,_.bodyB=o,_.contactEquations.length=0,"number"==typeof y)for(P=t.contactEquations.length-y;P1)for(var P=t.frictionEquations.length-b;P=0;e--)this.removeConstraint(t[e]);for(var i=this.bodies,e=i.length-1;e>=0;e--)this.removeBody(i[e]);for(var n=this.springs,e=n.length-1;e>=0;e--)this.removeSpring(n[e]);for(var r=this.contactMaterials,e=r.length-1;e>=0;e--)this.removeContactMaterial(r[e]);s.apply(this)};var C=r.create(),S=(r.fromValues(0,0),r.fromValues(0,0));s.prototype.hitTest=function(t,e,i){i=i||0;var s=new d({position:t}),n=new c,u=t,p=C,f=S;s.addShape(n);for(var g=this.narrowphase,m=[],y=0,v=e.length;y!==v;y++)for(var x=e[y],b=0,_=x.shapes.length;b!==_;b++){var w=x.shapes[b];r.rotate(p,w.position,x.angle),r.add(p,p,x.position);var T=w.angle+x.angle;(w instanceof o&&g.circleParticle(x,w,p,T,s,n,u,0,!0)||w instanceof a&&g.particleConvex(s,n,u,0,x,w,p,T,!0)||w instanceof h&&g.particlePlane(s,n,u,0,x,w,p,T,!0)||w instanceof l&&g.particleCapsule(s,n,u,0,x,w,p,T,!0)||w instanceof c&&r.squaredLength(r.sub(f,p,t))0?Math.acos(i/u):-Math.acos(i/u),this.worldScale.x=u,this.worldScale.y=c/u}else if(n||r){var d=Math.sqrt(n*n+r*r);this.worldRotation=Phaser.Math.HALF_PI-(r>0?Math.acos(-n/d):-Math.acos(n/d)),this.worldScale.x=c/d,this.worldScale.y=d}else this.worldScale.x=0,this.worldScale.y=0;return this.worldAlpha=this.alpha*e.worldAlpha,this.worldPosition.x=l.tx,this.worldPosition.y=l.ty,this._currentBounds=null,this.transformCallback&&this.transformCallback.call(this.transformCallbackContext,l,h),this},preUpdate:function(){},generateTexture:function(t,e,i){var n=this.getLocalBounds(),r=new Phaser.RenderTexture(this.game,0|n.width,0|n.height,i,e,t);return s.DisplayObject._tempMatrix.tx=-n.x,s.DisplayObject._tempMatrix.ty=-n.y,r.render(this,s.DisplayObject._tempMatrix),r},updateCache:function(){return this._generateCachedSprite(),this},toGlobal:function(t){return this.updateTransform(),this.worldTransform.apply(t)},toLocal:function(t,e){return e&&(t=e.toGlobal(t)),this.updateTransform(),this.worldTransform.applyInverse(t)},_renderCachedSprite:function(t){this._cachedSprite.worldAlpha=this.worldAlpha,t.gl?s.Sprite.prototype._renderWebGL.call(this._cachedSprite,t):s.Sprite.prototype._renderCanvas.call(this._cachedSprite,t)},_generateCachedSprite:function(){this._cacheAsBitmap=!1;var t=this.getLocalBounds();if(t.width=Math.max(1,Math.ceil(t.width)),t.height=Math.max(1,Math.ceil(t.height)),this.updateTransform(),this._cachedSprite)this._cachedSprite.texture.resize(t.width,t.height);else{var e=0;this.texture&&this.texture.baseTexture&&s._enableMultiTextureToggle&&(e=this.texture.baseTexture.textureIndex);var i=new Phaser.RenderTexture(this.game,t.width,t.height,void 0,void 0,void 0,void 0,e);this._cachedSprite=new s.Sprite(i),this._cachedSprite.worldTransform=this.worldTransform}var n=this._filters;this._filters=null,this._cachedSprite.filters=n,s.DisplayObject._tempMatrix.tx=-t.x,s.DisplayObject._tempMatrix.ty=-t.y,this._cachedSprite.texture.render(this,s.DisplayObject._tempMatrix,!0),this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._filters=n,this._cacheAsBitmap=!0},_destroyCachedSprite:function(){this._cachedSprite&&(this._cachedSprite.texture.destroy(!0),this._cachedSprite=null)},_destroyTintedTexture:function(){this.tintedTexture&&(Phaser.CanvasPool.removeByCanvas(this.tintedTexture),this.tintedTexture=null)}},s.DisplayObject.prototype.displayObjectUpdateTransform=s.DisplayObject.prototype.updateTransform,Object.defineProperties(s.DisplayObject.prototype,{x:{get:function(){return this.position.x},set:function(t){this.position.x=t}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t}},worldVisible:{get:function(){if(this.visible){var t=this.parent;if(!t)return this.visible;do{if(!t.visible)return!1;t=t.parent}while(t);return!0}return!1}},mask:{get:function(){return this._mask},set:function(t){this._mask&&(this._mask.isMask=!1),this._mask=t,t&&(this._mask.isMask=!0)}},filters:{get:function(){return this._filters},set:function(t){if(Array.isArray(t)){for(var e=[],i=0;i=0&&e<=this.children.length)return t.parent&&t.parent.removeChild(t),t.parent=this,this.children.splice(e,0,t),t;throw new Error(t+"addChildAt: The index "+e+" supplied is out of bounds "+this.children.length)},s.DisplayObjectContainer.prototype.swapChildren=function(t,e){if(t!==e){var i=this.getChildIndex(t),s=this.getChildIndex(e);if(i<0||s<0)throw new Error("swapChildren: Both the supplied DisplayObjects must be a child of the caller.");this.children[i]=e,this.children[s]=t}},s.DisplayObjectContainer.prototype.getChildIndex=function(t){var e=this.children.indexOf(t);if(-1===e)throw new Error("The supplied DisplayObject must be a child of the caller");return e},s.DisplayObjectContainer.prototype.setChildIndex=function(t,e){if(e<0||e>=this.children.length)throw new Error("The supplied index is out of bounds");var i=this.getChildIndex(t);this.children.splice(i,1),this.children.splice(e,0,t)},s.DisplayObjectContainer.prototype.getChildAt=function(t){if(t<0||t>=this.children.length)throw new Error("getChildAt: Supplied index "+t+" does not exist in the child list, or the supplied DisplayObject must be a child of the caller");return this.children[t]},s.DisplayObjectContainer.prototype.removeChild=function(t){var e=this.children.indexOf(t);if(-1!==e)return this.removeChildAt(e)},s.DisplayObjectContainer.prototype.removeChildAt=function(t){var e=this.getChildAt(t);return e&&(e.parent=void 0,this.children.splice(t,1)),e},s.DisplayObjectContainer.prototype.bringChildToTop=function(t){if(t.parent===this)return this.setChildIndex(t,this.children.length-1)},s.DisplayObjectContainer.prototype.sendChildToBack=function(t){if(t.parent===this)return this.setChildIndex(t,0)},s.DisplayObjectContainer.prototype.removeChildren=function(t,e){void 0===t&&(t=0),void 0===e&&(e=this.children.length);var i=e-t;if(i>0&&i<=e){for(var s=this.children.splice(t,i),n=0;na?u:a,d=d>h?d:h);var f=this._bounds;if(!p){var g=(f=new s.Rectangle).x,m=f.width+f.x,y=f.y,v=f.height+f.y,x=this.worldTransform,b=x.a,_=x.b,w=x.c,T=x.d,P=x.tx,C=x.ty,S=b*m+w*v+P,A=T*v+_*m+C,E=b*g+w*v+P,M=T*v+_*g+C,R=b*g+w*y+P,L=T*y+_*g+C,B=b*m+w*y+P,I=T*y+_*m+C;u=S,d=A,c=A,l=B<(l=R<(l=E<(l=S)?E:l)?R:l)?B:l,c=I<(c=L<(c=M(u=R>(u=E>u?E:u)?R:u)?B:u,d=I>(d=L>(d=M>d?M:d)?L:d)?I:d}if(f.x=l,f.y=c,f.width=u-l,f.height=d-c,e)for(t.worldTransform=r,n=0;n(f=T>(f=_>(f=x>f?x:f)?_:f)?T:f)?C:f,g=S>(g=P>(g=w>(g=b>g?b:g)?w:g)?P:g)?S:g}var A=this._bounds;return A.x=m,A.width=f-m,A.y=y,A.height=g-y,this._currentBounds=A,A},s.Sprite.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=Phaser.identityMatrix;for(var e=0;e= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) { gl_FragColor = RED;return;}","}"];var n=s.compileProgram(t,this.vertexSrc||s.PixiShader.defaultVertexSrc,this.fragmentSrc);t.useProgram(n),this.uSamplerArray=t.getUniformLocation(n,"uSamplerArray[0]"),this.projectionVector=t.getUniformLocation(n,"projectionVector"),this.offsetVector=t.getUniformLocation(n,"offsetVector"),this.dimensions=t.getUniformLocation(n,"dimensions"),this.aVertexPosition=t.getAttribLocation(n,"aVertexPosition"),this.aTextureCoord=t.getAttribLocation(n,"aTextureCoord"),this.colorAttribute=t.getAttribLocation(n,"aColor"),this.aTextureIndex=t.getAttribLocation(n,"aTextureIndex");var r=[],o=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,o),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var a=0;a 0.0) gl_Position = vec4(0.0);"," gl_Position = vec4( ((aVertexPosition + offsetVector) / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vColor = vec4(aColor.rgb * aColor.a, aColor.a);"," vTextureIndex = aTextureIndex;","}"],s.PixiFastShader=function(t){if(this._UID=Phaser._UID++,this.gl=t,this.program=null,s._enableMultiTextureToggle){var t=this.gl;this.MAX_TEXTURES=t.getParameter(t.MAX_TEXTURE_IMAGE_UNITS);for(var e="\tif (vTextureIndex == 0.0) { gl_FragColor = texture2D(uSamplerArray[0], vTextureCoord) * vColor;return;}\n",i=1;i= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["// PixiFastShader Fragment Shader.","precision lowp float;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord) * vColor;","}"];this.vertexSrc=["// PixiFastShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aPositionCoord;","attribute vec2 aScale;","attribute float aRotation;","attribute vec2 aTextureCoord;","attribute float aColor;","attribute float aTextureIndex;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","uniform mat3 uMatrix;","varying vec2 vTextureCoord;","varying float vColor;","varying float vTextureIndex;","const vec2 center = vec2(-1.0, 1.0);","void main(void) {"," vec2 v;"," vec2 sv = aVertexPosition * aScale;"," v.x = (sv.x) * cos(aRotation) - (sv.y) * sin(aRotation);"," v.y = (sv.x) * sin(aRotation) + (sv.y) * cos(aRotation);"," v = ( uMatrix * vec3(v + aPositionCoord , 1.0) ).xy ;"," gl_Position = vec4( ( v / projectionVector) + center , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;"," vColor = aColor;","}"],this.textureCount=0,this.init()},s.PixiFastShader.prototype.constructor=s.PixiFastShader,s.PixiFastShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r= "+this.MAX_TEXTURES+".0) { gl_FragColor = BLUE;return;}"," if(isnan(vTextureIndex)) {gl_FragColor = RED;return;}","}"]}else this.fragmentSrc=["//StripShader Fragment Shader.","precision mediump float;","varying vec2 vTextureCoord;","varying float vTextureIndex;","uniform float alpha;","uniform sampler2D uSampler;","void main(void) {"," gl_FragColor = texture2D(uSampler, vTextureCoord);","}"];this.vertexSrc=["//StripShader Vertex Shader.","attribute vec2 aVertexPosition;","attribute vec2 aTextureCoord;","attribute float aTextureIndex;","uniform mat3 translationMatrix;","uniform vec2 projectionVector;","uniform vec2 offsetVector;","varying vec2 vTextureCoord;","varying float vTextureIndex;","void main(void) {"," vec3 v = translationMatrix * vec3(aVertexPosition , 1.0);"," v -= offsetVector.xyx;"," gl_Position = vec4( v.x / projectionVector.x -1.0, v.y / -projectionVector.y + 1.0 , 0.0, 1.0);"," vTextureCoord = aTextureCoord;"," vTextureIndex = aTextureIndex;","}"],this.init()},s.StripShader.prototype.constructor=s.StripShader,s.StripShader.prototype.init=function(){var t=this.gl,e=s.compileProgram(t,this.vertexSrc,this.fragmentSrc);if(t.useProgram(e),this.uSampler=s._enableMultiTextureToggle?t.getUniformLocation(e,"uSamplerArray[0]"):t.getUniformLocation(e,"uSampler"),s._enableMultiTextureToggle){var i=[],n=t.createTexture();t.activeTexture(t.TEXTURE0),t.bindTexture(t.TEXTURE_2D,n),t.texImage2D(t.TEXTURE_2D,0,t.RGB,1,1,0,t.RGB,t.UNSIGNED_BYTE,null);for(var r=0;r>1,t|=t>>2,t|=t>>4,t|=t>>8,t|=t>>16,++t},i=this.gl,n=i.getParameter(i.MAX_TEXTURE_IMAGE_UNITS),r=i.getParameter(i.MAX_TEXTURE_SIZE),o=this.game.cache._cache.image,a=null,h=0;h=this.size&&(this.flush(),this.currentBaseTexture=i.baseTexture);var a=i._uvs;if(a){var h,l,c,u,d=t.anchor.x,p=t.anchor.y;if(i.trim){var f=i.trim;h=(l=f.x-d*f.width)+i.crop.width,c=(u=f.y-p*f.height)+i.crop.height}else h=i.frame.width*(1-d),l=i.frame.width*-d,c=i.frame.height*(1-p),u=i.frame.height*-p;var g=this.currentBatchSize*this.vertexSize,m=i.baseTexture.resolution,y=i.baseTexture.textureIndex,v=o.a/m,x=o.b/m,b=o.c/m,_=o.d/m,w=o.tx,T=o.ty,P=i.crop.height;if(i.rotated){var C=o.a,S=o.b,A=o.c,E=o.d,M=l,R=h;w=o.c*P+w,T=o.d*P+T,v=6.123233995736766e-17*C-A,x=6.123233995736766e-17*S-E,b=C+6.123233995736766e-17*A,_=S+6.123233995736766e-17*E,i._updateUvsInverted(),h=c,l=u,c=R,u=M}var L=this.colors,B=this.positions,I=t.tint,O=(I>>16)+(65280&I)+((255&I)<<16)+(255*t.worldAlpha<<24);this.renderSession.roundPixels?(B[g++]=v*l+b*u+w|0,B[g++]=_*u+x*l+T|0,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w|0,B[g++]=_*u+x*h+T|0,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w|0,B[g++]=_*c+x*h+T|0,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w|0,B[g++]=_*c+x*l+T|0,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y):(B[g++]=v*l+b*u+w,B[g++]=_*u+x*l+T,B[g++]=a.x0,B[g++]=a.y0,L[g++]=O,B[g++]=y,B[g++]=v*h+b*u+w,B[g++]=_*u+x*h+T,B[g++]=a.x1,B[g++]=a.y1,L[g++]=O,B[g++]=y,B[g++]=v*h+b*c+w,B[g++]=_*c+x*h+T,B[g++]=a.x2,B[g++]=a.y2,L[g++]=O,B[g++]=y,B[g++]=v*l+b*c+w,B[g++]=_*c+x*l+T,B[g++]=a.x3,B[g++]=a.y3,L[g++]=O,B[g++]=y),this.sprites[this.currentBatchSize++]=t}},s.WebGLSpriteBatch.prototype.renderTilingSprite=function(t){var e=t.tilingTexture,i=e.baseTexture,n=this.gl,r=t.texture.baseTexture.textureIndex;s.WebGLRenderer.textureArray[r]!=i&&(this.flush(),n.activeTexture(n.TEXTURE0+r),n.bindTexture(n.TEXTURE_2D,i._glTextures[n.id]),s.WebGLRenderer.textureArray[r]=i),this.currentBatchSize>=this.size&&(this.flush(),this.currentBaseTexture=e.baseTexture),t._uvs||(t._uvs=new s.TextureUvs);var o=t._uvs,a=e.baseTexture.width,h=e.baseTexture.height;t.tilePosition.x%=a*t.tileScaleOffset.x,t.tilePosition.y%=h*t.tileScaleOffset.y;var l=t.tilePosition.x/(a*t.tileScaleOffset.x),c=t.tilePosition.y/(h*t.tileScaleOffset.y),u=t.width/a/(t.tileScale.x*t.tileScaleOffset.x),d=t.height/h/(t.tileScale.y*t.tileScaleOffset.y);o.x0=0-l,o.y0=0-c,o.x1=1*u-l,o.y1=0-c,o.x2=1*u-l,o.y2=1*d-c,o.x3=0-l,o.y3=1*d-c;var p=t.tint,f=(p>>16)+(65280&p)+((255&p)<<16)+(255*t.worldAlpha<<24),g=this.positions,m=this.colors,y=t.width,v=t.height,x=t.anchor.x,b=t.anchor.y,_=y*(1-x),w=y*-x,T=v*(1-b),P=v*-b,C=this.currentBatchSize*this.vertexSize,S=e.baseTexture.resolution,A=t.worldTransform,E=A.a/S,M=A.b/S,R=A.c/S,L=A.d/S,B=A.tx,I=A.ty;g[C++]=E*w+R*P+B,g[C++]=L*P+M*w+I,g[C++]=o.x0,g[C++]=o.y0,m[C++]=f,g[C++]=r,g[C++]=E*_+R*P+B,g[C++]=L*P+M*_+I,g[C++]=o.x1,g[C++]=o.y1,m[C++]=f,g[C++]=r,g[C++]=E*_+R*T+B,g[C++]=L*T+M*_+I,g[C++]=o.x2,g[C++]=o.y2,m[C++]=f,g[C++]=r,g[C++]=E*w+R*T+B,g[C++]=L*T+M*w+I,g[C++]=o.x3,g[C++]=o.y3,m[C++]=f,g[C++]=r,this.sprites[this.currentBatchSize++]=t},s.WebGLSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t,e=this.gl;if(this.dirty){this.dirty=!1,t=this.defaultShader.shaders[e.id],e.activeTexture(e.TEXTURE0),e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer),e.bindBuffer(e.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var i=this.vertexSize;e.vertexAttribPointer(t.aVertexPosition,2,e.FLOAT,!1,i,0),e.vertexAttribPointer(t.aTextureCoord,2,e.FLOAT,!1,i,8),e.vertexAttribPointer(t.colorAttribute,4,e.UNSIGNED_BYTE,!0,i,16),e.vertexAttribPointer(t.aTextureIndex,1,e.FLOAT,!1,i,20)}if(this.currentBatchSize>.5*this.size)e.bufferSubData(e.ARRAY_BUFFER,0,this.vertices);else{e.bindBuffer(e.ARRAY_BUFFER,this.vertexBuffer);var n=this.positions.subarray(0,this.currentBatchSize*this.vertexSize);e.bufferSubData(e.ARRAY_BUFFER,0,n)}for(var r,o,a,h,l=0,c=0,u=null,d=this.renderSession.blendModeManager.currentBlendMode,p=null,f=!1,g=!1,m=0,y=this.currentBatchSize;m0&&(v=!1),(f||g)&&(this.renderBatch(u,l,c),c=m,l=0,u=r,f&&(d=o,this.renderSession.blendModeManager.setBlendMode(d)),g)){(t=(p=a).shaders[e.id])||((t=new s.PixiShader(e)).fragmentSrc=p.fragmentSrc,t.uniforms=p.uniforms,t.init(),p.shaders[e.id]=t),this.renderSession.shaderManager.setShader(t),t.dirty&&t.syncUniforms();var x=this.renderSession.projection;e.uniform2f(t.projectionVector,x.x,x.y);var b=this.renderSession.offset;e.uniform2f(t.offsetVector,b.x,b.y)}l++}this.renderBatch(u,l,c),this.currentBatchSize=0}},s.WebGLSpriteBatch.prototype.renderBatch=function(t,e,i){if(0!==e){var s=this.gl;if(t._dirty[s.id]){if(!this.renderSession.renderer.updateTexture(t))return}else s.bindTexture(s.TEXTURE_2D,t._glTextures[s.id]);s.drawElements(s.TRIANGLES,6*e,s.UNSIGNED_SHORT,6*i*2),this.renderSession.drawCount++}},s.WebGLSpriteBatch.prototype.stop=function(){this.flush(),this.dirty=!0},s.WebGLSpriteBatch.prototype.start=function(){this.dirty=!0},s.WebGLSpriteBatch.prototype.destroy=function(){this.vertices=null,this.indices=null,this.gl.deleteBuffer(this.vertexBuffer),this.gl.deleteBuffer(this.indexBuffer),this.currentBaseTexture=null,this.gl=null},s.WebGLFastSpriteBatch=function(t){this.vertSize=11,this.maxSize=6e3,this.size=this.maxSize;var e=4*this.size*this.vertSize,i=6*this.maxSize;this.vertices=new Float32Array(e),this.indices=new Uint16Array(i),this.vertexBuffer=null,this.indexBuffer=null,this.lastIndexCount=0;for(var s=0,n=0;s=this.size&&this.flush()}},s.WebGLFastSpriteBatch.prototype.flush=function(){if(0!==this.currentBatchSize){var t=this.gl;if(this.currentBaseTexture._glTextures[t.id]){if(this.currentBatchSize>.5*this.size)t.bufferSubData(t.ARRAY_BUFFER,0,this.vertices);else{var e=this.vertices.subarray(0,4*this.currentBatchSize*this.vertSize);t.bufferSubData(t.ARRAY_BUFFER,0,e)}t.drawElements(t.TRIANGLES,6*this.currentBatchSize,t.UNSIGNED_SHORT,0),this.currentBatchSize=0,this.renderSession.drawCount++}else this.renderSession.renderer.updateTexture(this.currentBaseTexture,t)}},s.WebGLFastSpriteBatch.prototype.stop=function(){this.flush()},s.WebGLFastSpriteBatch.prototype.start=function(){var t=this.gl;t.activeTexture(t.TEXTURE0),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer);var e=this.renderSession.projection;t.uniform2f(this.shader.projectionVector,e.x,e.y),t.uniformMatrix3fv(this.shader.uMatrix,!1,this.matrix);var i=4*this.vertSize;t.vertexAttribPointer(this.shader.aVertexPosition,2,t.FLOAT,!1,i,0),t.vertexAttribPointer(this.shader.aPositionCoord,2,t.FLOAT,!1,i,8),t.vertexAttribPointer(this.shader.aScale,2,t.FLOAT,!1,i,16),t.vertexAttribPointer(this.shader.aRotation,1,t.FLOAT,!1,i,24),t.vertexAttribPointer(this.shader.aTextureCoord,2,t.FLOAT,!1,i,28),t.vertexAttribPointer(this.shader.colorAttribute,1,t.FLOAT,!1,i,36),t.vertexAttribPointer(this.shader.aTextureIndex,1,t.FLOAT,!1,i,40)},s.WebGLFilterManager=function(){this.filterStack=[],this.offsetX=0,this.offsetY=0},s.WebGLFilterManager.prototype.constructor=s.WebGLFilterManager,s.WebGLFilterManager.prototype.setContext=function(t){this.gl=t,this.texturePool=[],this.initShaderBuffers()},s.WebGLFilterManager.prototype.begin=function(t,e){this.renderSession=t,this.defaultShader=t.shaderManager.defaultShader;var i=this.renderSession.projection;this.width=2*i.x,this.height=2*-i.y,this.buffer=e},s.WebGLFilterManager.prototype.pushFilter=function(t){var e=this.gl,i=this.renderSession.projection,n=this.renderSession.offset;t._filterArea=t.target.filterArea||t.target.getBounds(),t._previous_stencil_mgr=this.renderSession.stencilManager,this.renderSession.stencilManager=new s.WebGLStencilManager,this.renderSession.stencilManager.setContext(e),e.disable(e.STENCIL_TEST),this.filterStack.push(t);var r=t.filterPasses[0];this.offsetX+=t._filterArea.x,this.offsetY+=t._filterArea.y;var o=this.texturePool.pop();o?o.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution):o=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),e.bindTexture(e.TEXTURE_2D,o.texture);var a=t._filterArea,h=r.padding;a.x-=h,a.y-=h,a.width+=2*h,a.height+=2*h,a.x<0&&(a.x=0),a.width>this.width&&(a.width=this.width),a.y<0&&(a.y=0),a.height>this.height&&(a.height=this.height),e.bindFramebuffer(e.FRAMEBUFFER,o.frameBuffer),e.viewport(0,0,a.width*this.renderSession.resolution,a.height*this.renderSession.resolution),i.x=a.width/2,i.y=-a.height/2,n.x=-a.x,n.y=-a.y,e.colorMask(!0,!0,!0,!0),e.clearColor(0,0,0,0),e.clear(e.COLOR_BUFFER_BIT),t._glFilterTexture=o},s.WebGLFilterManager.prototype.popFilter=function(){var t=this.gl,e=this.filterStack.pop(),i=e._filterArea,n=e._glFilterTexture,r=this.renderSession.projection,o=this.renderSession.offset;if(e.filterPasses.length>1){t.viewport(0,0,i.width*this.renderSession.resolution,i.height*this.renderSession.resolution),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),this.vertexArray[0]=0,this.vertexArray[1]=i.height,this.vertexArray[2]=i.width,this.vertexArray[3]=i.height,this.vertexArray[4]=0,this.vertexArray[5]=0,this.vertexArray[6]=i.width,this.vertexArray[7]=0,t.bufferSubData(t.ARRAY_BUFFER,0,this.vertexArray),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),this.uvArray[2]=i.width/this.width,this.uvArray[5]=i.height/this.height,this.uvArray[6]=i.width/this.width,this.uvArray[7]=i.height/this.height,t.bufferSubData(t.ARRAY_BUFFER,0,this.uvArray);var a=n,h=this.texturePool.pop();h||(h=new s.FilterTexture(this.gl,this.width*this.renderSession.resolution,this.height*this.renderSession.resolution)),h.resize(this.width*this.renderSession.resolution,this.height*this.renderSession.resolution),t.bindFramebuffer(t.FRAMEBUFFER,h.frameBuffer),t.clear(t.COLOR_BUFFER_BIT),t.disable(t.BLEND);for(var l=0;l0?t.enable(t.STENCIL_TEST):t.disable(t.STENCIL_TEST),this.applyFilterPass(d,i,p,f),this.texturePool.push(n),e._glFilterTexture=null},s.WebGLFilterManager.prototype.applyFilterPass=function(t,e,i,n){var r=this.gl,o=t.shaders[r.id];o||((o=new s.PixiShader(r)).fragmentSrc=t.fragmentSrc,o.uniforms=t.uniforms,o.init(!0),t.shaders[r.id]=o),this.renderSession.shaderManager.setShader(o),r.uniform2f(o.projectionVector,i/2,-n/2),r.uniform2f(o.offsetVector,0,0),t.uniforms.dimensions&&(t.uniforms.dimensions.value[0]=this.width,t.uniforms.dimensions.value[1]=this.height,t.uniforms.dimensions.value[2]=this.vertexArray[0],t.uniforms.dimensions.value[3]=this.vertexArray[5]),o.syncUniforms(),r.bindBuffer(r.ARRAY_BUFFER,this.vertexBuffer),r.vertexAttribPointer(o.aVertexPosition,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.uvBuffer),r.vertexAttribPointer(o.aTextureCoord,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ARRAY_BUFFER,this.colorBuffer),r.vertexAttribPointer(o.colorAttribute,2,r.FLOAT,!1,0,0),r.bindBuffer(r.ELEMENT_ARRAY_BUFFER,this.indexBuffer),r.drawElements(r.TRIANGLES,6,r.UNSIGNED_SHORT,0),this.renderSession.drawCount++},s.WebGLFilterManager.prototype.initShaderBuffers=function(){var t=this.gl;this.vertexBuffer=t.createBuffer(),this.uvBuffer=t.createBuffer(),this.colorBuffer=t.createBuffer(),this.indexBuffer=t.createBuffer(),this.vertexArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.vertexBuffer),t.bufferData(t.ARRAY_BUFFER,this.vertexArray,t.STATIC_DRAW),this.uvArray=new Float32Array([0,0,1,0,0,1,1,1]),t.bindBuffer(t.ARRAY_BUFFER,this.uvBuffer),t.bufferData(t.ARRAY_BUFFER,this.uvArray,t.STATIC_DRAW),this.colorArray=new Float32Array([1,16777215,1,16777215,1,16777215,1,16777215]),t.bindBuffer(t.ARRAY_BUFFER,this.colorBuffer),t.bufferData(t.ARRAY_BUFFER,this.colorArray,t.STATIC_DRAW),t.bindBuffer(t.ELEMENT_ARRAY_BUFFER,this.indexBuffer),t.bufferData(t.ELEMENT_ARRAY_BUFFER,new Uint16Array([0,1,2,1,3,2]),t.STATIC_DRAW)},s.WebGLFilterManager.prototype.destroy=function(){var t=this.gl;this.filterStack=null,this.offsetX=0,this.offsetY=0;for(var e=0;e=0;t--){var e=this._glTextures[t],i=s.glContexts[t];i&&e&&i.deleteTexture(e)}this._glTextures.length=0,this.dirty()},s.BaseTexture.fromCanvas=function(t,e,i){return 0===t.width&&(t.width=1),0===t.height&&(t.height=1),i=i||1,new s.BaseTexture(t,e,i)},s.TextureSilentFail=!1,s.Texture=function(t,e,i,n){this.noFrame=!1,e||(this.noFrame=!0,e=new s.Rectangle(0,0,1,1)),t instanceof s.Texture&&(t=t.baseTexture),this.baseTexture=t,this.frame=e,this.trim=n,this.valid=!1,this.isTiling=!1,this.requiresUpdate=!1,this.requiresReTint=!1,this._uvs=null,this.width=0,this.height=0,this.crop=i||new s.Rectangle(0,0,1,1),this.rotated=!1,t.hasLoaded&&(this.noFrame&&(e=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(e))},s.Texture.prototype.constructor=s.Texture,s.Texture.prototype.onBaseTextureLoaded=function(){var t=this.baseTexture;this.noFrame&&(this.frame=new s.Rectangle(0,0,t.width,t.height)),this.setFrame(this.frame)},s.Texture.prototype.destroy=function(t){t&&this.baseTexture.destroy(),this.valid=!1},s.Texture.prototype.setFrame=function(t){if(this.noFrame=!1,this.frame=t,this.width=t.width,this.height=t.height,this.crop.x=t.x,this.crop.y=t.y,this.crop.width=t.width,this.crop.height=t.height,this.trim||!(t.x+t.width>this.baseTexture.width||t.y+t.height>this.baseTexture.height))this.valid=t&&t.width&&t.height&&this.baseTexture.source&&this.baseTexture.hasLoaded,this.trim&&(this.width=this.trim.width,this.height=this.trim.height,this.frame.width=this.trim.width,this.frame.height=this.trim.height),this.valid&&this._updateUvs();else{if(!s.TextureSilentFail)throw new Error("Texture Error: frame does not fit inside the base Texture dimensions "+this);this.valid=!1}},s.Texture.prototype._updateUvs=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.width)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.width)/e,this._uvs.y2=(t.y+t.height)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.height)/i},s.Texture.prototype._updateUvsInverted=function(){this._uvs||(this._uvs=new s.TextureUvs);var t=this.crop,e=this.baseTexture.width,i=this.baseTexture.height;this._uvs.x0=t.x/e,this._uvs.y0=t.y/i,this._uvs.x1=(t.x+t.height)/e,this._uvs.y1=t.y/i,this._uvs.x2=(t.x+t.height)/e,this._uvs.y2=(t.y+t.width)/i,this._uvs.x3=t.x/e,this._uvs.y3=(t.y+t.width)/i},s.Texture.fromCanvas=function(t,e){var i=s.BaseTexture.fromCanvas(t,e);return new s.Texture(i)},s.TextureUvs=function(){this.x0=0,this.y0=0,this.x1=0,this.y1=0,this.x2=0,this.y2=0,this.x3=0,this.y3=0},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=s),exports.PIXI=s):"undefined"!=typeof define&&define.amd?define("PIXI",i.PIXI=s):i.PIXI=s,s}.call(this),function(){var t=this,e=e||{VERSION:"2.15.0",GAMES:[],AUTO:0,CANVAS:1,WEBGL:2,HEADLESS:3,WEBGL_MULTI:4,NONE:0,LEFT:1,RIGHT:2,UP:3,DOWN:4,SPRITE:0,BUTTON:1,IMAGE:2,GRAPHICS:3,TEXT:4,TILESPRITE:5,BITMAPTEXT:6,GROUP:7,RENDERTEXTURE:8,TILEMAP:9,TILEMAPLAYER:10,EMITTER:11,POLYGON:12,BITMAPDATA:13,CANVAS_FILTER:14,WEBGL_FILTER:15,ELLIPSE:16,SPRITEBATCH:17,RETROFONT:18,POINTER:19,ROPE:20,CIRCLE:21,RECTANGLE:22,LINE:23,MATRIX:24,POINT:25,ROUNDEDRECTANGLE:26,CREATURE:27,VIDEO:28,PENDING_ATLAS:-1,HORIZONTAL:0,VERTICAL:1,LANDSCAPE:0,PORTRAIT:1,ANGLE_UP:270,ANGLE_DOWN:90,ANGLE_LEFT:180,ANGLE_RIGHT:0,ANGLE_NORTH_EAST:315,ANGLE_NORTH_WEST:225,ANGLE_SOUTH_EAST:45,ANGLE_SOUTH_WEST:135,TOP_LEFT:0,TOP_CENTER:1,TOP_RIGHT:2,LEFT_TOP:3,LEFT_CENTER:4,LEFT_BOTTOM:5,CENTER:6,RIGHT_TOP:7,RIGHT_CENTER:8,RIGHT_BOTTOM:9,BOTTOM_LEFT:10,BOTTOM_CENTER:11,BOTTOM_RIGHT:12,blendModes:{NORMAL:0,ADD:1,MULTIPLY:2,SCREEN:3,OVERLAY:4,DARKEN:5,LIGHTEN:6,COLOR_DODGE:7,COLOR_BURN:8,HARD_LIGHT:9,SOFT_LIGHT:10,DIFFERENCE:11,EXCLUSION:12,HUE:13,SATURATION:14,COLOR:15,LUMINOSITY:16},scaleModes:{DEFAULT:0,LINEAR:0,NEAREST:1},PIXI:PIXI||{},_UID:0};if("undefined"!=typeof AudioBufferSourceNode&&(AudioBufferSourceNode.prototype.start||(AudioBufferSourceNode.prototype.start=AudioBufferSourceNode.prototype.noteGrainOn),AudioBufferSourceNode.prototype.stop||(AudioBufferSourceNode.prototype.stop=AudioBufferSourceNode.prototype.noteOff)),Math.trunc||(Math.trunc=function(t){return t<0?Math.ceil(t):Math.floor(t)}),Function.prototype.bind||(Function.prototype.bind=function(){var t=Array.prototype.slice;return function(e){function i(){var r=n.concat(t.call(arguments));s.apply(this instanceof i?this:e,r)}var s=this,n=t.call(arguments,1);if("function"!=typeof s)throw new TypeError;return i.prototype=function t(e){if(e&&(t.prototype=e),!(this instanceof t))return new t}(s.prototype),i}}()),Array.isArray||(Array.isArray=function(t){return"[object Array]"===Object.prototype.toString.call(t)}),Array.prototype.forEach||(Array.prototype.forEach=function(t){"use strict";if(void 0===this||null===this)throw new TypeError;var e=Object(this),i=e.length>>>0;if("function"!=typeof t)throw new TypeError;for(var s=arguments.length>=2?arguments[1]:void 0,n=0;n0&&100*Math.random()<=t},randomChoice:function(t,e){return Math.random()<.5?t:e},parseDimension:function(t,e){var i=0,s=0;return"string"==typeof t?"%"===t.substr(-1)?(i=parseInt(t,10)/100,s=0===e?window.innerWidth*i:window.innerHeight*i):s=parseInt(t,10):s=t,s},pad:function(t,e,i,s){if(void 0===e)var e=0;if(void 0===i)var i=" ";if(void 0===s)var s=3;var n=0;if(e+1>=(t=t.toString()).length)switch(s){case 1:t=new Array(e+1-t.length).join(i)+t;break;case 3:var r=Math.ceil((n=e-t.length)/2),o=n-r;t=new Array(o+1).join(i)+t+new Array(r+1).join(i);break;default:t+=new Array(e+1-t.length).join(i)}return t},isPlainObject:function(t){if("object"!=typeof t||t.nodeType||t===t.window)return!1;try{if(t.constructor&&!{}.hasOwnProperty.call(t.constructor.prototype,"isPrototypeOf"))return!1}catch(t){return!1}return!0},extend:function(){var t,i,s,n,r,o,a=arguments[0]||{},h=1,l=arguments.length,c=!1;for("boolean"==typeof a&&(c=a,a=arguments[1]||{},h=2),l===h&&(a=this,--h);h0&&(this._radius=.5*s),this.type=e.CIRCLE},e.Circle.prototype={circumference:function(){return Math.PI*this._radius*2},random:function(t){void 0===t&&(t=new e.Point);var i=2*Math.PI*Math.random(),s=Math.random()+Math.random(),n=s>1?2-s:s,r=n*Math.cos(i),o=n*Math.sin(i);return t.x=this.x+r*this.radius,t.y=this.y+o*this.radius,t},getBounds:function(){return new e.Rectangle(this.x-this.radius,this.y-this.radius,this.diameter,this.diameter)},setTo:function(t,e,i){return this.x=t,this.y=e,this._diameter=i,this._radius=.5*i,this},copyFrom:function(t){return this.setTo(t.x,t.y,t.diameter)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.diameter=this._diameter,t},distance:function(t,i){var s=e.Math.distance(this.x,this.y,t.x,t.y);return i?Math.round(s):s},clone:function(t){return void 0===t||null===t?t=new e.Circle(this.x,this.y,this.diameter):t.setTo(this.x,this.y,this.diameter),t},contains:function(t,i){return e.Circle.contains(this,t,i)},circumferencePoint:function(t,i,s){return e.Circle.circumferencePoint(this,t,i,s)},sample:function(t,i,s,n,r){t||(t=60),null==i&&(i=0),null==s&&(s=e.Math.PI2),r||(r=[]);for(var o=0;o0&&(this._diameter=t,this._radius=.5*t)}}),Object.defineProperty(e.Circle.prototype,"radius",{get:function(){return this._radius},set:function(t){t>0&&(this._radius=t,this._diameter=2*t)}}),Object.defineProperty(e.Circle.prototype,"left",{get:function(){return this.x-this._radius},set:function(t){t>this.x?(this._radius=0,this._diameter=0):this.radius=this.x-t}}),Object.defineProperty(e.Circle.prototype,"right",{get:function(){return this.x+this._radius},set:function(t){tthis.y?(this._radius=0,this._diameter=0):this.radius=this.y-t}}),Object.defineProperty(e.Circle.prototype,"bottom",{get:function(){return this.y+this._radius},set:function(t){t0?Math.PI*this._radius*this._radius:0}}),Object.defineProperty(e.Circle.prototype,"empty",{get:function(){return 0===this._diameter},set:function(t){!0===t&&this.setTo(0,0,0)}}),e.Circle.contains=function(t,e,i){return t.radius>0&&e>=t.left&&e<=t.right&&i>=t.top&&i<=t.bottom&&(t.x-e)*(t.x-e)+(t.y-i)*(t.y-i)<=t.radius*t.radius},e.Circle.equals=function(t,e){return t.x===e.x&&t.y===e.y&&t.diameter===e.diameter},e.Circle.intersects=function(t,i){return e.Math.distance(t.x,t.y,i.x,i.y)<=t.radius+i.radius},e.Circle.circumferencePoint=function(t,i,s,n){return void 0===s&&(s=!1),void 0===n&&(n=new e.Point),!0===s&&(i=e.Math.degToRad(i)),n.x=t.x+t.radius*Math.cos(i),n.y=t.y+t.radius*Math.sin(i),n},e.Circle.intersectsRectangle=function(t,e){var i=Math.abs(t.x-e.x-e.halfWidth);if(i>e.halfWidth+t.radius)return!1;var s=Math.abs(t.y-e.y-e.halfHeight);if(s>e.halfHeight+t.radius)return!1;if(i<=e.halfWidth||s<=e.halfHeight)return!0;var n=i-e.halfWidth,r=s-e.halfHeight;return n*n+r*r<=t.radius*t.radius},e.Circle.intersectsLine=function(t,i,s){var n=t.x,r=t.y,o=(i.end.y-i.start.y)/(i.end.x-i.start.x),a=i.end.y-o*i.end.x,h=t.radius,l=t.radius,c=a+o*n,u=(n*(l*l)-o*(h*h)*(a-r)+h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),d=(n*(l*l)-o*(h*h)*(a-r)-h*l*Math.sqrt(h*h*(o*o)+l*l-c*c-r*r+2*c*r))/(h*h*(o*o)+l*l),p=o*u+a,f=o*d+a,g=new e.Point(u,p),m=new e.Point(d,f),y=i.pointOnSegment(g.x,g.y,.01),v=i.pointOnSegment(m.x,m.y,.01);return y&&v?!s||[g,m]:y?!s||[g]:v?!s||[m]:!!s&&[]},PIXI.Circle=e.Circle,e.Ellipse=function(t,i,s,n){t=t||0,i=i||0,s=s||0,n=n||0,this.x=t,this.y=i,this.width=s,this.height=n,this.type=e.ELLIPSE},e.Ellipse.prototype={setTo:function(t,e,i,s){return this.x=t,this.y=e,this.width=i,this.height=s,this},getBounds:function(){return new e.Rectangle(this.x-this.width,this.y-this.height,this.width,this.height)},copyFrom:function(t){return this.setTo(t.x,t.y,t.width,t.height)},copyTo:function(t){return t.x=this.x,t.y=this.y,t.width=this.width,t.height=this.height,t},clone:function(t){return void 0===t||null===t?t=new e.Ellipse(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t},contains:function(t,i){return e.Ellipse.contains(this,t,i)},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random()*Math.PI*2,s=Math.sqrt(Math.random());return t.x=this.centerX+.5*s*Math.cos(i)*this.width,t.y=this.centerY+.5*s*Math.sin(i)*this.height,t},toString:function(){return"[{Phaser.Ellipse (x="+this.x+" y="+this.y+" width="+this.width+" height="+this.height+")}]"}},e.Ellipse.prototype.constructor=e.Ellipse,Object.defineProperty(e.Ellipse.prototype,"left",{get:function(){return this.x},set:function(t){this.x=t}}),Object.defineProperty(e.Ellipse.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t=s&&t<=n&&e>=r&&e<=o},random:function(t){void 0===t&&(t=new e.Point);var i=Math.random();return t.x=this.start.x+i*(this.end.x-this.start.x),t.y=this.start.y+i*(this.end.y-this.start.y),t},coordinatesOnLine:function(t,e){void 0===t&&(t=1),void 0===e&&(e=[]);var i=Math.round(this.start.x),s=Math.round(this.start.y),n=Math.round(this.end.x),r=Math.round(this.end.y),o=Math.abs(n-i),a=Math.abs(r-s),h=i-a&&(c-=a,i+=h),d=0&&g<=1&&m>=0&&m<=1?o:null}return o},e.Line.intersects=function(t,i,s,n){return e.Line.intersectsPoints(t.start,t.end,i.start,i.end,s,n)},e.Line.intersectsRectangle=function(t,e){if(0===t.length||e.empty)return!1;var i=t.start.x,s=t.start.y,n=t.end.x,r=t.end.y,o=e.x,a=e.y,h=e.right,l=e.bottom,c=0;if(i>=o&&i<=h&&s>=a&&s<=l||n>=o&&n<=h&&r>=a&&r<=l)return!0;if(i=o){if((c=s+(r-s)*(o-i)/(n-i))>a&&c<=l)return!0}else if(i>h&&n<=h&&(c=s+(r-s)*(h-i)/(n-i))>=a&&c<=l)return!0;if(s=a){if((c=i+(n-i)*(a-s)/(r-s))>=o&&c<=h)return!0}else if(s>l&&r<=l&&(c=i+(n-i)*(l-s)/(r-s))>=o&&c<=h)return!0;return!1},e.Line.intersectionWithRectangle=function(t,i,s){var n=e.Line.intersectionWithRectangle;s||(s=new e.Point),n.edges||(n.edges=[new e.Line,new e.Line,new e.Line,new e.Line]),n.edgeIntersection||(n.edgeIntersection=new e.Point);var r=n.edges,o=n.edgeIntersection.set(0),a=i.x,h=i.y,l=i.right,c=i.bottom,u=1/0;r[0].setTo(a,h,l,h),r[1].setTo(a,c,l,c),r[2].setTo(a,h,a,c),r[3].setTo(l,h,l,c);for(var d,p=0;d=r[p];p++)if(t.intersects(d,!0,o)){var f=t.start.distance(o);fs&&(this.x=s),this.yn&&(this.y=n),this},clone:function(t){return void 0===t||null===t?t=new e.Point(this.x,this.y):t.setTo(this.x,this.y),t},copyTo:function(t){return t.x=this.x,t.y=this.y,t},distance:function(t,i){return e.Point.distance(this,t,i)},equals:function(t){return t.x===this.x&&t.y===this.y},equalsXY:function(t,e){return this.x===t&&this.y===e},fuzzyEquals:function(t,i){return e.Point.fuzzyEquals(this,t,i)},fuzzyEqualsXY:function(t,i,s){return e.Point.fuzzyEqualsXY(this,t,i,s)},angle:function(t,e){return this.angleXY(t.x,t.y,e)},angleXY:function(t,i,s){var n=Math.atan2(i-this.y,t-this.x);return s?e.Math.radToDeg(n):n},atan:function(t){var i=Math.atan2(this.y,this.x);return t?e.Math.radToDeg(i):i},rotate:function(t,i,s,n,r){return e.Point.rotate(this,t,i,s,n,r)},getMagnitude:function(){return Math.sqrt(this.x*this.x+this.y*this.y)},getMagnitudeSq:function(){return this.x*this.x+this.y*this.y},setMagnitude:function(t){return this.normalize().multiply(t,t)},normalize:function(){if(!this.isZero()){var t=this.getMagnitude();this.x/=t,this.y/=t}return this},limit:function(t){return this.getMagnitudeSq()>t*t&&this.setMagnitude(t),this},expand:function(t){return this.getMagnitudeSq()=0&&e.x-i<0)return-1;if(t.x-i<0&&e.x-i>=0)return 1;if(t.x-i==0&&e.x-i==0)return t.y-s>=0||e.y-s>=0?t.y>e.y?1:-1:e.y>t.y?1:-1;var n=(t.x-i)*-(e.y-s)-(e.x-i)*-(t.y-s);return n<0?-1:n>0?1:(t.x-i)*(t.x-i)+(t.y-s)*(t.y-s)>(e.x-i)*(e.x-i)+(e.y-s)*(e.y-s)?-1:1})},PIXI.Point=e.Point,e.Polygon=function(){this.area=0,this._points=[],arguments.length>0&&this.setTo.apply(this,arguments),this.closed=!0,this.flattened=!1,this.type=e.POLYGON},e.Polygon.prototype={toNumberArray:function(t){void 0===t&&(t=[]);for(var e=0;e0){Array.isArray(t)||(t=Array.prototype.slice.call(arguments));for(var e=Number.MAX_VALUE,i=0,s=t.length;i=this.right?this.width=0:this.width=this.right-t,this.x=t}}),Object.defineProperty(e.Rectangle.prototype,"right",{get:function(){return this.x+this.width},set:function(t){t<=this.x?this.width=0:this.width=t-this.x}}),Object.defineProperty(e.Rectangle.prototype,"volume",{get:function(){return this.width*this.height}}),Object.defineProperty(e.Rectangle.prototype,"perimeter",{get:function(){return 2*this.width+2*this.height}}),Object.defineProperty(e.Rectangle.prototype,"centerX",{get:function(){return this.x+this.halfWidth},set:function(t){this.x=t-this.halfWidth}}),Object.defineProperty(e.Rectangle.prototype,"centerY",{get:function(){return this.y+this.halfHeight},set:function(t){this.y=t-this.halfHeight}}),Object.defineProperty(e.Rectangle.prototype,"randomX",{get:function(){return this.x+Math.random()*this.width}}),Object.defineProperty(e.Rectangle.prototype,"randomY",{get:function(){return this.y+Math.random()*this.height}}),Object.defineProperty(e.Rectangle.prototype,"top",{get:function(){return this.y},set:function(t){t>=this.bottom?(this.height=0,this.y=t):this.height=this.bottom-t}}),Object.defineProperty(e.Rectangle.prototype,"topLeft",{get:function(){return new e.Point(this.x,this.y)},set:function(t){this.x=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"topRight",{get:function(){return new e.Point(this.x+this.width,this.y)},set:function(t){this.right=t.x,this.y=t.y}}),Object.defineProperty(e.Rectangle.prototype,"empty",{get:function(){return!this.width||!this.height},set:function(t){!0===t&&this.setTo(0,0,0,0)}}),e.Rectangle.prototype.constructor=e.Rectangle,e.Rectangle.inflate=function(t,e,i){return t.x-=e,t.width+=2*e,t.y-=i,t.height+=2*i,t},e.Rectangle.inflatePoint=function(t,i){return e.Rectangle.inflate(t,i.x,i.y)},e.Rectangle.size=function(t,i){return void 0===i||null===i?i=new e.Point(t.width,t.height):i.setTo(t.width,t.height),i},e.Rectangle.clone=function(t,i){return void 0===i||null===i?i=new e.Rectangle(t.x,t.y,t.width,t.height):i.setTo(t.x,t.y,t.width,t.height),i},e.Rectangle.createFromBounds=function(t,i){return void 0!==i&&null!==i||(i=new e.Rectangle(t.x,t.y,t.width,t.height)),i.copyFromBounds(t)},e.Rectangle.contains=function(t,e,i){return!(t.width<=0||t.height<=0)&&(e>=t.x&&e=t.y&&i=t&&n=e&&re.volume)&&(t.x>=e.x&&t.y>=e.y&&t.righte.right||t.y>e.bottom)},e.Rectangle.intersectsRaw=function(t,e,i,s,n,r){return void 0===r&&(r=0),!(e>t.right+r||it.bottom+r||ns&&(s=t.x),t.xr&&(r=t.y),t.y=i&&t<=i+this.width){var s=this.y;if(e>=s&&e<=s+this.height)return!0}return!1}},e.RoundedRectangle.prototype.constructor=e.RoundedRectangle,PIXI.RoundedRectangle=e.RoundedRectangle,e.Camera=function(t,i,s,n,r,o){this.game=t,this.world=t.world,this.id=0,this.view=new e.Rectangle(s,n,r,o),this.bounds=new e.Rectangle(s,n,r,o),this.deadzone=null,this.visible=!0,this.roundPx=!0,this.atLimit={x:!1,y:!1},this.target=null,this.displayObject=null,this.scale=null,this.totalInView=0,this.lerp=new e.Point(1,1),this.onShakeComplete=new e.Signal,this.onFlashComplete=new e.Signal,this.onFadeComplete=new e.Signal,this.fx=null,this._targetPosition=new e.Point,this._edge=0,this._position=new e.Point,this._shake={intensity:0,duration:0,horizontal:!1,vertical:!1,shakeBounds:!0,x:0,y:0},this._fxDuration=0,this._fxType=0,this._fixedView=new e.Rectangle},e.Camera.FOLLOW_LOCKON=0,e.Camera.FOLLOW_PLATFORMER=1,e.Camera.FOLLOW_TOPDOWN=2,e.Camera.FOLLOW_TOPDOWN_TIGHT=3,e.Camera.SHAKE_BOTH=4,e.Camera.SHAKE_HORIZONTAL=5,e.Camera.SHAKE_VERTICAL=6,e.Camera.ENABLE_FX=!0,e.Camera.prototype={boot:function(){this.displayObject=this.game.world,this.scale=this.game.world.scale,this.game.camera=this,e.Graphics&&e.Camera.ENABLE_FX&&(this.fx=new e.Graphics(this.game),this.game.stage.addChild(this.fx))},preUpdate:function(){this.totalInView=0},follow:function(t,i,s,n){void 0===i&&(i=e.Camera.FOLLOW_LOCKON),void 0===s&&(s=1),void 0===n&&(n=1),this.target=t,this.lerp.set(s,n);var r;switch(i){case e.Camera.FOLLOW_PLATFORMER:var o=this.width/8,a=this.height/3;this.deadzone=new e.Rectangle((this.width-o)/2,(this.height-a)/2-.25*a,o,a);break;case e.Camera.FOLLOW_TOPDOWN:r=Math.max(this.width,this.height)/4,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_TOPDOWN_TIGHT:r=Math.max(this.width,this.height)/8,this.deadzone=new e.Rectangle((this.width-r)/2,(this.height-r)/2,r,r);break;case e.Camera.FOLLOW_LOCKON:default:this.deadzone=null}},unfollow:function(){this.target=null},focusOn:function(t){this.setPosition(Math.round(t.x-this.view.halfWidth),Math.round(t.y-this.view.halfHeight))},focusOnXY:function(t,e){this.setPosition(Math.round(t-this.view.halfWidth),Math.round(e-this.view.halfHeight))},shake:function(t,i,s,n,r){return void 0===t&&(t=.05),void 0===i&&(i=500),void 0===s&&(s=!0),void 0===n&&(n=e.Camera.SHAKE_BOTH),void 0===r&&(r=!0),!(!s&&this._shake.duration>0)&&(this._shake.intensity=t,this._shake.duration=i,this._shake.shakeBounds=r,this._shake.x=0,this._shake.y=0,this._shake.horizontal=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_HORIZONTAL,this._shake.vertical=n===e.Camera.SHAKE_BOTH||n===e.Camera.SHAKE_VERTICAL,!0)},flash:function(t,e,i,s){return void 0===t&&(t=16777215),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=1,this._fxDuration=e,this._fxType=0,!0)},fade:function(t,e,i,s){return void 0===t&&(t=0),void 0===e&&(e=500),void 0===i&&(i=!1),void 0===s&&(s=1),!(!this.fx||!i&&this._fxDuration>0)&&(this.fx.clear(),this.fx.beginFill(t,s),this.fx.drawRect(0,0,this.width,this.height),this.fx.endFill(),this.fx.alpha=0,this._fxDuration=e,this._fxType=1,!0)},update:function(){this._fxDuration>0&&this.updateFX(),this._shake.duration>0&&this.updateShake(),this.bounds&&this.checkBounds(),this.roundPx&&(this.view.floor(),this._shake.x=Math.floor(this._shake.x),this._shake.y=Math.floor(this._shake.y)),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},updateFX:function(){0===this._fxType?(this.fx.alpha-=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha<=0&&(this._fxDuration=0,this.fx.alpha=0,this.onFlashComplete.dispatch())):(this.fx.alpha+=this.game.time.elapsedMS/this._fxDuration,this.fx.alpha>=1&&(this._fxDuration=0,this.fx.alpha=1,this.onFadeComplete.dispatch()))},updateShake:function(){this._shake.duration-=this.game.time.elapsedMS,this._shake.duration<=0?(this.onShakeComplete.dispatch(),this._shake.x=0,this._shake.y=0):(this._shake.horizontal&&(this._shake.x=this.game.rnd.frac()*this._shake.intensity*this.view.width*2-this._shake.intensity*this.view.width),this._shake.vertical&&(this._shake.y=this.game.rnd.frac()*this._shake.intensity*this.view.height*2-this._shake.intensity*this.view.height))},updateTarget:function(){this._targetPosition.x=this.view.x+this.target.worldPosition.x,this._targetPosition.y=this.view.y+this.target.worldPosition.y,this.deadzone?(this._edge=this._targetPosition.x-this.view.x,this._edgethis.deadzone.right&&(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.deadzone.right,this.lerp.x)),this._edge=this._targetPosition.y-this.view.y,this._edgethis.deadzone.bottom&&(this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.deadzone.bottom,this.lerp.y))):(this.view.x=this.game.math.linear(this.view.x,this._targetPosition.x-this.view.halfWidth,this.lerp.x),this.view.y=this.game.math.linear(this.view.y,this._targetPosition.y-this.view.halfHeight,this.lerp.y)),this.bounds&&this.checkBounds(),this.roundPx&&this.view.floor(),this.displayObject.position.x=-this.view.x,this.displayObject.position.y=-this.view.y},setBoundsToWorld:function(){this.bounds&&this.bounds.copyFrom(this.game.world.bounds)},checkBounds:function(){this.atLimit.x=!1,this.atLimit.y=!1;var t=this.view.x+this._shake.x,e=this.view.right+this._shake.x,i=this.view.y+this._shake.y,s=this.view.bottom+this._shake.y;t<=this.bounds.x*this.scale.x?(this.atLimit.x=!0,this.view.x=this.bounds.x*this.scale.x,this._shake.shakeBounds||(this._shake.x=0)):e>=this.bounds.right*this.scale.x&&(this.atLimit.x=!0,this.view.x=this.bounds.right*this.scale.x-this.width,this._shake.shakeBounds||(this._shake.x=0)),i<=this.bounds.top*this.scale.y?(this.atLimit.y=!0,this.view.y=this.bounds.top*this.scale.y,this._shake.shakeBounds||(this._shake.y=0)):s>=this.bounds.bottom*this.scale.y&&(this.atLimit.y=!0,this.view.y=this.bounds.bottom*this.scale.y-this.height,this._shake.shakeBounds||(this._shake.y=0))},setPosition:function(t,e){this.view.x=t,this.view.y=e,this.bounds&&this.checkBounds()},setSize:function(t,e){this.view.width=t,this.view.height=e},reset:function(){this.target=null,this.view.x=0,this.view.y=0,this._shake.duration=0,this._shake.x=0,this._shake.y=0,this.resetFX()},resetFX:function(){this.fx&&(this.fx.clear(),this.fx.alpha=0),this._fxDuration=0}},e.Camera.prototype.constructor=e.Camera,Object.defineProperty(e.Camera.prototype,"x",{get:function(){return this.view.x},set:function(t){this.view.x=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"y",{get:function(){return this.view.y},set:function(t){this.view.y=t,this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"position",{get:function(){return this._position.set(this.view.x,this.view.y),this._position},set:function(t){void 0!==t.x&&(this.view.x=t.x),void 0!==t.y&&(this.view.y=t.y),this.bounds&&this.checkBounds()}}),Object.defineProperty(e.Camera.prototype,"width",{get:function(){return this.view.width},set:function(t){this.view.width=t}}),Object.defineProperty(e.Camera.prototype,"height",{get:function(){return this.view.height},set:function(t){this.view.height=t}}),Object.defineProperty(e.Camera.prototype,"shakeIntensity",{get:function(){return this._shake.intensity},set:function(t){this._shake.intensity=t}}),Object.defineProperty(e.Camera.prototype,"fixedView",{get:function(){return this._fixedView.setTo(0,0,this.view.width,this.view.height),this._fixedView}}),Object.defineProperty(e.Camera.prototype,"centerX",{get:function(){return this.x+.5*this.width}}),Object.defineProperty(e.Camera.prototype,"centerY",{get:function(){return this.y+.5*this.height}}),e.State=function(){this.game=null,this.key="",this.add=null,this.make=null,this.camera=null,this.cache=null,this.input=null,this.load=null,this.math=null,this.sound=null,this.scale=null,this.stage=null,this.state=null,this.time=null,this.tweens=null,this.world=null,this.particles=null,this.physics=null,this.rnd=null},e.State.prototype={init:function(){},preload:function(){},loadUpdate:function(){},loadRender:function(){},create:function(){},update:function(){},postUpdate:function(){},preRender:function(){},render:function(){},resize:function(){},paused:function(){},resumed:function(){},pauseUpdate:function(){},shutdown:function(){}},e.State.prototype.constructor=e.State,e.StateManager=function(t,i){this.game=t,this.states={},this._pendingState=null,void 0!==i&&null!==i&&(this._pendingState=i),this._clearWorld=!1,this._clearCache=!1,this._created=!1,this._args=[],this.current="",this.onStateChange=new e.Signal,this.onInitCallback=null,this.onPreloadCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPreRenderCallback=null,this.onLoadUpdateCallback=null,this.onLoadRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.onShutDownCallback=null},e.StateManager.prototype={boot:function(){this.game.onPause.add(this.pause,this),this.game.onResume.add(this.resume,this),null!==this._pendingState&&"string"!=typeof this._pendingState&&this.add("default",this._pendingState,!0)},add:function(t,i,s){void 0===s&&(s=!1);var n;return i instanceof e.State?n=i:"object"==typeof i?(n=i).game=this.game:"function"==typeof i&&(n=new i(this.game)),this.states[t]=n,s&&(this.game.isBooted?this.start(t):this._pendingState=t),n},remove:function(t){this.current===t&&(this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPreRenderCallback=null,this.onRenderCallback=null,this.onResizeCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null),delete this.states[t]},start:function(t,e,i){void 0===e&&(e=!0),void 0===i&&(i=!1),this.checkState(t)&&(this._pendingState=t,this._clearWorld=e,this._clearCache=i,arguments.length>3&&(this._args=Array.prototype.splice.call(arguments,3)))},restart:function(t,e){void 0===t&&(t=!0),void 0===e&&(e=!1),this._pendingState=this.current,this._clearWorld=t,this._clearCache=e,arguments.length>2&&(this._args=Array.prototype.slice.call(arguments,2))},dummy:function(){},preUpdate:function(){if(this._pendingState&&this.game.isBooted){var t=this.current;if(this.clearCurrentState(),this.setCurrentState(this._pendingState),this.onStateChange.dispatch(this.current,t),this.current!==this._pendingState)return;this._pendingState=null,this.onPreloadCallback?(this.game.load.reset(!0),this.onPreloadCallback.call(this.callbackContext,this.game),0===this.game.load.totalQueuedFiles()&&0===this.game.load.totalQueuedPacks()?this.loadComplete():this.game.load.start()):this.loadComplete()}},clearCurrentState:function(){this.current&&(this.onShutDownCallback&&this.onShutDownCallback.call(this.callbackContext,this.game),this.game.tweens.removeAll(),this.game.camera.reset(),this.game.input.reset(!0),this.game.physics.clear(),this.game.time.removeAll(),this.game.scale.reset(this._clearWorld),this.game.debug&&this.game.debug.reset(),this._clearWorld&&(this.game.world.shutdown(),this._clearCache&&this.game.cache.destroy()))},checkState:function(t){var e=this.states[t];return e?!!(e.preload||e.create||e.update||e.render)||(console.warn("Invalid Phaser State object given. Must contain at least one of the required functions: preload, create, update or render"),!1):(console.warn("Phaser.StateManager - No state found with the key: "+t),!1)},link:function(t){var e=this.states[t];e.game=this.game,e.add=this.game.add,e.make=this.game.make,e.camera=this.game.camera,e.cache=this.game.cache,e.input=this.game.input,e.load=this.game.load,e.math=this.game.math,e.sound=this.game.sound,e.scale=this.game.scale,e.state=this,e.stage=this.game.stage,e.time=this.game.time,e.tweens=this.game.tweens,e.world=this.game.world,e.particles=this.game.particles,e.rnd=this.game.rnd,e.physics=this.game.physics,e.key=t},unlink:function(t){var e=this.states[t];e&&(e.game=null,e.add=null,e.make=null,e.camera=null,e.cache=null,e.input=null,e.load=null,e.math=null,e.sound=null,e.scale=null,e.state=null,e.stage=null,e.time=null,e.tweens=null,e.world=null,e.particles=null,e.rnd=null,e.physics=null)},setCurrentState:function(t){var e=this.states[t];this.callbackContext=e,this.link(t),this.onInitCallback=e.init||this.dummy,this.onPreloadCallback=e.preload||null,this.onLoadRenderCallback=e.loadRender||null,this.onLoadUpdateCallback=e.loadUpdate||null,this.onCreateCallback=e.create||null,this.onUpdateCallback=e.update||null,this.onPostUpdateCallback=e.postUpdate||null,this.onPreRenderCallback=e.preRender||null,this.onRenderCallback=e.render||null,this.onResizeCallback=e.resize||null,this.onPausedCallback=e.paused||null,this.onResumedCallback=e.resumed||null,this.onPauseUpdateCallback=e.pauseUpdate||null,this.onShutDownCallback=e.shutdown||this.dummy,""!==this.current&&this.game.physics.reset(),this.current=t,this._created=!1,this.onInitCallback.apply(this.callbackContext,this._args),t===this._pendingState&&(this._args=[]),this.game._kickstart=!0},getCurrentState:function(){return this.states[this.current]},loadComplete:function(){!1===this._created&&this.onCreateCallback?(this._created=!0,this.onCreateCallback.call(this.callbackContext,this.game)):this._created=!0},loadUpdate:function(){!1===this._created&&this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},pause:function(){this._created&&this.onPausedCallback&&this.onPausedCallback.call(this.callbackContext,this.game)},resume:function(){this._created&&this.onResumedCallback&&this.onResumedCallback.call(this.callbackContext,this.game)},update:function(){this._created?this.onUpdateCallback&&this.onUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},postUpdate:function(){this._created&&this.onPostUpdateCallback&&this.onPostUpdateCallback.call(this.callbackContext,this.game)},pauseUpdate:function(){this._created?this.onPauseUpdateCallback&&this.onPauseUpdateCallback.call(this.callbackContext,this.game):this.onLoadUpdateCallback&&this.onLoadUpdateCallback.call(this.callbackContext,this.game)},preRender:function(t){this._created&&this.onPreRenderCallback&&this.onPreRenderCallback.call(this.callbackContext,this.game,t)},resize:function(t,e){this.onResizeCallback&&this.onResizeCallback.call(this.callbackContext,t,e)},render:function(){this._created?this.onRenderCallback&&(this.game.renderType===e.CANVAS?(this.game.context.save(),this.game.context.setTransform(1,0,0,1,0,0),this.onRenderCallback.call(this.callbackContext,this.game),this.game.context.restore()):this.onRenderCallback.call(this.callbackContext,this.game)):this.onLoadRenderCallback&&this.onLoadRenderCallback.call(this.callbackContext,this.game)},destroy:function(){this._clearWorld=!0,this._clearCache=!0,this.clearCurrentState(),this.callbackContext=null,this.onInitCallback=null,this.onShutDownCallback=null,this.onPreloadCallback=null,this.onLoadRenderCallback=null,this.onLoadUpdateCallback=null,this.onCreateCallback=null,this.onUpdateCallback=null,this.onPostUpdateCallback=null,this.onRenderCallback=null,this.onPausedCallback=null,this.onResumedCallback=null,this.onPauseUpdateCallback=null,this.game=null,this.states={},this._pendingState=null,this.current=""}},e.StateManager.prototype.constructor=e.StateManager,Object.defineProperty(e.StateManager.prototype,"created",{get:function(){return this._created}}),e.Signal=function(){},e.Signal.prototype={_bindings:null,_prevParams:null,memorize:!1,_shouldPropagate:!0,active:!0,_boundDispatch:!1,validateListener:function(t,e){if("function"!=typeof t)throw new Error("Phaser.Signal: listener is a required param of {fn}() and should be a Function.".replace("{fn}",e))},_registerListener:function(t,i,s,n,r){var o,a=this._indexOfListener(t,s);if(-1!==a){if((o=this._bindings[a]).isOnce()!==i)throw new Error("You cannot add"+(i?"":"Once")+"() then add"+(i?"Once":"")+"() the same listener without removing the relationship first.")}else o=new e.SignalBinding(this,t,i,s,n,r),this._addBinding(o);return this.memorize&&this._prevParams&&o.execute(this._prevParams),o},_addBinding:function(t){this._bindings||(this._bindings=[]);var e=this._bindings.length;do{e--}while(this._bindings[e]&&t._priority<=this._bindings[e]._priority);this._bindings.splice(e+1,0,t)},_indexOfListener:function(t,e){if(!this._bindings)return-1;void 0===e&&(e=null);for(var i,s=this._bindings.length;s--;)if((i=this._bindings[s])._listener===t&&i.context===e)return s;return-1},has:function(t,e){return-1!==this._indexOfListener(t,e)},add:function(t,e,i){this.validateListener(t,"add");var s=[];if(arguments.length>3)for(var n=3;n3)for(var n=3;n=this.children.length?-1:this.getChildAt(t)},e.Group.prototype.create=function(t,e,i,s,n,r){void 0===n&&(n=!0);var o=new this.classType(this.game,t,e,i,s);return o.exists=n,o.visible=n,o.alive=n,this.add(o,!1,r)},e.Group.prototype.createMultiple=function(t,e,i,s,n,r){void 0===i&&(i=0),void 0===s&&(s=!1),Array.isArray(e)||(e=[e]),Array.isArray(i)||(i=[i]);var o=this,a=[];return e.forEach(function(e){i.forEach(function(i){for(var h=0;hthis.children.length||-1===t&&-1===i)return!1;for(var a=new e.Rectangle(0,0,s,n),h=t*s,l=i*n,c=o;cthis.children.length-1&&(t=0),this.cursor)return this.cursorIndex=t,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.next=function(){if(this.cursor)return this.cursorIndex>=this.children.length-1?this.cursorIndex=0:this.cursorIndex++,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.previous=function(){if(this.cursor)return 0===this.cursorIndex?this.cursorIndex=this.children.length-1:this.cursorIndex--,this.cursor=this.children[this.cursorIndex],this.cursor},e.Group.prototype.swap=function(t,e){this.swapChildren(t,e),this.updateZ()},e.Group.prototype.bringToTop=function(t){return t.parent===this&&this.getIndex(t)0&&(this.remove(t,!1,!0),this.addAt(t,0,!0)),t},e.Group.prototype.sendChildToBack=e.Group.prototype.sendToBack,e.Group.prototype.moveUp=function(t){if(t.parent===this&&this.getIndex(t)0){var e=this.getIndex(t),i=this.getAt(e-1);i&&this.swap(t,i)}return t},e.Group.prototype.xy=function(t,e,i){if(t<0||t>this.children.length)return-1;this.getChildAt(t).x=e,this.getChildAt(t).y=i},e.Group.prototype.reverse=function(){this.children.reverse(),this.updateZ()},e.Group.prototype.getIndex=function(t){return this.children.indexOf(t)},e.Group.prototype.getByName=function(t){return this.getFirst("name",t)},e.Group.prototype.replace=function(t,i){var s=this.getIndex(t);if(-1!==s)return i.parent&&(i.parent instanceof e.Group?i.parent.remove(i):i.parent.removeChild(i)),this.remove(t),this.addAt(i,s),t},e.Group.prototype.hasProperty=function(t,e){var i=e.length;return 1===i&&e[0]in t||(2===i&&e[0]in t&&e[1]in t[e[0]]||(3===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]||4===i&&e[0]in t&&e[1]in t[e[0]]&&e[2]in t[e[0]][e[1]]&&e[3]in t[e[0]][e[1]][e[2]]))},e.Group.prototype.setProperty=function(t,e,i,s,n){if(void 0===n&&(n=!1),s=s||0,!this.hasProperty(t,e)&&(!n||s>0))return!1;var r=e.length;return 1===r?0===s?t[e[0]]=i:1===s?t[e[0]]+=i:2===s?t[e[0]]-=i:3===s?t[e[0]]*=i:4===s&&(t[e[0]]/=i):2===r?0===s?t[e[0]][e[1]]=i:1===s?t[e[0]][e[1]]+=i:2===s?t[e[0]][e[1]]-=i:3===s?t[e[0]][e[1]]*=i:4===s&&(t[e[0]][e[1]]/=i):3===r?0===s?t[e[0]][e[1]][e[2]]=i:1===s?t[e[0]][e[1]][e[2]]+=i:2===s?t[e[0]][e[1]][e[2]]-=i:3===s?t[e[0]][e[1]][e[2]]*=i:4===s&&(t[e[0]][e[1]][e[2]]/=i):4===r&&(0===s?t[e[0]][e[1]][e[2]][e[3]]=i:1===s?t[e[0]][e[1]][e[2]][e[3]]+=i:2===s?t[e[0]][e[1]][e[2]][e[3]]-=i:3===s?t[e[0]][e[1]][e[2]][e[3]]*=i:4===s&&(t[e[0]][e[1]][e[2]][e[3]]/=i)),!0},e.Group.prototype.checkProperty=function(t,i,s,n){if(void 0===n&&(n=!1),this!==t.parent)return!1;var r=e.Utils.getProperty(t,i);return!(void 0===r&&n||r!==s)},e.Group.prototype.set=function(t,e,i,s,n,r,o){if(void 0===o&&(o=!1),e=e.split("."),void 0===s&&(s=!1),void 0===n&&(n=!1),(!1===s||s&&t.alive)&&(!1===n||n&&t.visible))return this.setProperty(t,e,i,r,o)},e.Group.prototype.setAll=function(t,e,i,s,n,r){void 0===i&&(i=!1),void 0===s&&(s=!1),void 0===r&&(r=!1),t=t.split("."),n=n||0;for(var o=this.children.length,a=0;a2){i=[];for(s=2;s2){n=[];for(a=2;a=e&&(t=e-1);var i=this.children[t];this.updateOnlyExistingChildren&&!i.exists||i.update()}},e.Group.prototype.postUpdate=function(){this.fixedToCamera&&(this.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y);for(var t=0;t2){s=[null];for(var n=2;n2){s=[null];for(var n=2;n2){s=[null];for(var n=2;ne[this._sortProperty]?1:t.ze[this._sortProperty]?-1:0},e.Group.prototype.iterate=function(t,i,s,n,r,o){if(0===this.children.length){if(s===e.Group.RETURN_TOTAL)return 0;if(s===e.Group.RETURN_ALL)return[]}var a=0;if(s===e.Group.RETURN_ALL)var h=[];for(var l=0;l0)return this.children[this.children.length-1]},e.Group.prototype.getBottom=function(){if(this.children.length>0)return this.children[0]},e.Group.prototype.getClosestTo=function(t,i,s){for(var n=Number.MAX_VALUE,r=0,o=null,a=0;an&&(!i||i.call(s,h,r))&&(n=r,o=h)}return o},e.Group.prototype.count=function(t,i){return this.iterate(t,i,e.Group.RETURN_TOTAL)},e.Group.prototype.countLiving=function(){return this.count("alive",!0)},e.Group.prototype.countDead=function(){return this.count("alive",!1)},e.Group.prototype.getRandom=function(t,i){return void 0===t&&(t=0),void 0===i&&(i=this.children.length),0===i?null:e.ArrayUtils.getRandomItem(this.children,t,i)},e.Group.prototype.getRandomExists=function(t,e){var i=this.getAll("exists",!0,t,e);return this.game.rnd.pick(i)},e.Group.prototype.getAll=function(t,e,i,s){void 0===i&&(i=0),void 0===s&&(s=this.children.length);for(var n=[],r=i;r0&&t instanceof e.Group){do{t.add(this.children[0],i)}while(this.children.length>0);this.hash=[],this.cursor=null}return t},e.Group.prototype.removeAll=function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=!1),void 0===i&&(i=!1),0!==this.children.length){do{!e&&this.children[0].events&&this.children[0].events.onRemovedFromGroup$dispatch(this.children[0],this);var s=this.removeChild(this.children[0]);this.removeFromHash(s),t&&s&&s.destroy(!0,i)}while(this.children.length>0);this.hash=[],this.cursor=null}},e.Group.prototype.removeBetween=function(t,e,i,s){if(void 0===e&&(e=this.children.length-1),void 0===i&&(i=!1),void 0===s&&(s=!1),0!==this.children.length){if(t>e||t<0||e>this.children.length)return!1;for(var n=e;n>=t;){!s&&this.children[n].events&&this.children[n].events.onRemovedFromGroup$dispatch(this.children[n],this);var r=this.removeChild(this.children[n]);this.removeFromHash(r),i&&r&&r.destroy(!0),this.cursor===this.children[n]&&(this.cursor=null),n--}this.updateZ()}},e.Group.prototype.scatter=function(t,e){null==t&&(t=this.game.world.bounds),this.forEach(function(e){e.position.set(t.randomX,t.randomY)},null,e)},e.Group.prototype.shuffle=function(){e.ArrayUtils.shuffle(this.children),this.updateZ()},e.Group.prototype.destroy=function(t,e){null===this.game||this.ignoreDestroy||(void 0===t&&(t=!0),void 0===e&&(e=!1),this.onDestroy.dispatch(this,t,e),this.removeAll(t),this.cursor=null,this.filters=null,this.pendingDestroy=!1,e||(this.parent&&this.parent.removeChild(this),this.game=null,this.exists=!1))},Object.defineProperty(e.Group.prototype,"total",{get:function(){return this.iterate("exists",!0,e.Group.RETURN_TOTAL)}}),Object.defineProperty(e.Group.prototype,"length",{get:function(){return this.children.length}}),Object.defineProperty(e.Group.prototype,"angle",{get:function(){return e.Math.radToDeg(this.rotation)},set:function(t){this.rotation=e.Math.degToRad(t)}}),Object.defineProperty(e.Group.prototype,"centerX",{get:function(){return this.getBounds(this.parent).centerX},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.halfWidth}}),Object.defineProperty(e.Group.prototype,"centerY",{get:function(){return this.getBounds(this.parent).centerY},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.halfHeight}}),Object.defineProperty(e.Group.prototype,"left",{get:function(){return this.getBounds(this.parent).left},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i}}),Object.defineProperty(e.Group.prototype,"right",{get:function(){return this.getBounds(this.parent).right},set:function(t){var e=this.getBounds(this.parent),i=this.x-e.x;this.x=t+i-e.width}}),Object.defineProperty(e.Group.prototype,"top",{get:function(){return this.getBounds(this.parent).top},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i}}),Object.defineProperty(e.Group.prototype,"bottom",{get:function(){return this.getBounds(this.parent).bottom},set:function(t){var e=this.getBounds(this.parent),i=this.y-e.y;this.y=t+i-e.height}}),e.World=function(t){e.Group.call(this,t,null,"__world",!1),this.bounds=new e.Rectangle(0,0,t.width,t.height),this.camera=null,this._definedSize=!1,this._width=t.width,this._height=t.height,this.game.state.onStateChange.add(this.stateChange,this)},e.World.prototype=Object.create(e.Group.prototype),e.World.prototype.constructor=e.World,e.World.prototype.boot=function(){this.camera=new e.Camera(this.game,0,0,0,this.game.width,this.game.height),this.game.stage.addChild(this),this.camera.boot()},e.World.prototype.stateChange=function(){this.x=0,this.y=0,this.camera.reset()},e.World.prototype.setBounds=function(t,e,i,s){this._definedSize=!0,this._width=i,this._height=s,this.bounds.setTo(t,e,i,s),this.x=t,this.y=e,this.camera.bounds&&this.camera.bounds.setTo(t,e,Math.max(i,this.game.width),Math.max(s,this.game.height)),this.game.physics.setBoundsToWorld()},e.World.prototype.resize=function(t,e){this._definedSize&&(tthis.bounds.right&&(t.x=this.bounds.left)),n&&(t.y+t._currentBounds.heightthis.bounds.bottom&&(t.y=this.bounds.top))):(s&&t.x+ethis.bounds.right&&(t.x=this.bounds.left-e),n&&t.y+ethis.bounds.bottom&&(t.y=this.bounds.top-e))},e.World.prototype.wrapAll=function(t,e,i,s,n,r){t.forEach(this.wrap,this,e,i,s,n,r)},Object.defineProperty(e.World.prototype,"width",{get:function(){return this.bounds.width},set:function(t){t1&&!this.forceSingleUpdate)this.time.time>this._nextFpsNotification&&(this._nextFpsNotification=this.time.time+1e4,this.fpsProblemNotifier.dispatch()),this._deltaTime=0,this._spiraling=0,this.dropFrames?this.rendersThisFrame=0:(this.updateRender(this.time.slowMotion*this.time.desiredFps),this.rendersThisFrame=1);else{var i=1e3*this.time.slowMotion/this.time.desiredFps;this._deltaTime+=Math.max(Math.min(3*i,this.time.elapsed),0);var s=0;for(this.updatesThisFrame=Math.floor(this._deltaTime/i),this.forceSingleUpdate&&(this.updatesThisFrame=Math.min(1,this.updatesThisFrame)),this.forceSingleRender?this.rendersThisFrame=1:this.rendersThisFrame=Math.min(1,this.updatesThisFrame);this._deltaTime>=i&&(this._deltaTime-=i,this.currentUpdateID=s,this.updateLogic(this.time.desiredFpsMult),s++,!this.forceSingleUpdate||1!==s);)this.time.refresh();s>this._lastCount?this._spiraling++:s0&&this.updateRender(this._deltaTime/i)}this.renderer.type===e.WEBGL&&this.renderer.gl.flush()}},updateLogic:function(t){this._paused||this.pendingStep?(this.scale.pauseUpdate(),this.state.pauseUpdate(t),this.debug.preUpdate(),this.input.pauseUpdate()):(this.stepping&&(this.pendingStep=!0),this.time.countUpdate(),this.scale.preUpdate(),this.debug.preUpdate(),this.camera.preUpdate(),this.physics.preUpdate(),this.state.preUpdate(t),this.plugins.preUpdate(t),this.stage.preUpdate(),this.state.update(),this.stage.update(),this.tweens.update(),this.sound.update(),this.input.update(),this.physics.update(),this.plugins.update(),this.stage.postUpdate(),this.state.postUpdate(),this.plugins.postUpdate()),this.stage.updateTransform()},updateRender:function(t){this.lockRender||this.renderType===e.HEADLESS||(this.time.countRender(),this.state.preRender(t),this.renderer.render(this.stage),this.plugins.render(t),this.state.render(t),this.plugins.postRender(t))},enableStep:function(){this.stepping=!0,this.pendingStep=!1,this.stepCount=0},disableStep:function(){this.stepping=!1,this.pendingStep=!1},step:function(){this.pendingStep=!1,this.stepCount++},destroy:function(){this.raf.stop(),this.debug.destroy(),this.state.destroy(),this.sound.destroy(),this.scale.destroy(),this.stage.destroy(),this.input.destroy(),this.physics.destroy(),this.plugins.destroy(),this.tweens.destroy(),this.debug=null,this.state=null,this.sound=null,this.scale=null,this.stage=null,this.input=null,this.physics=null,this.plugins=null,this.tweens=null,this.cache=null,this.load=null,this.time=null,this.world=null,this.isBooted=!1,this.renderer.destroy(!1),e.Canvas.removeFromDOM(this.canvas),PIXI.game===this&&(PIXI.game=null),PIXI.defaultRenderer=null,e.GAMES[this.id]=null},gamePaused:function(t){this._paused||(this._paused=!0,this.time.gamePaused(),this.sound.muteOnPause&&this.sound.setMute(),this.onPause.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!0))},gameResumed:function(t){this._paused&&!this._codePaused&&(this._paused=!1,this.time.gameResumed(),this.input.reset(),this.sound.muteOnPause&&this.sound.unsetMute(),this.onResume.dispatch(t),this.device.cordova&&this.device.iOS&&(this.lockRender=!1))},focusLoss:function(t){this.onBlur.dispatch(t),this.stage.disableVisibilityChange||this.gamePaused(t)},focusGain:function(t){this.focusWindow(),this.onFocus.dispatch(t),this.stage.disableVisibilityChange||this.gameResumed(t)},focusWindow:function(){window.focus&&(!window.PhaserGlobal||window.PhaserGlobal&&!window.PhaserGlobal.stopFocus)&&window.focus()}},e.Game.prototype.constructor=e.Game,Object.defineProperty(e.Game.prototype,"paused",{get:function(){return this._paused},set:function(t){!0===t?(!1===this._paused&&(this._paused=!0,this.sound.muteOnPause&&this.sound.setMute(),this.time.gamePaused(),this.onPause.dispatch(this)),this._codePaused=!0):(this._paused&&(this._paused=!1,this.input.reset(),this.sound.unsetMute(),this.time.gameResumed(),this.onResume.dispatch(this)),this._codePaused=!1)}}),e.Input=function(t){this.game=t,this.hitCanvas=null,this.hitContext=null,this.moveCallbacks=[],this.customCandidateHandler=null,this.customCandidateHandlerContext=null,this.pollRate=0,this.enabled=!0,this.multiInputOverride=e.Input.MOUSE_TOUCH_COMBINE,this.position=null,this.speed=null,this.circle=null,this.scale=null,this.maxPointers=-1,this.tapRate=200,this.doubleTapRate=300,this.holdRate=2e3,this.justPressedRate=200,this.justReleasedRate=200,this.recordPointerHistory=!1,this.recordRate=100,this.recordLimit=100,this.touchLockCallbacks=[],this.pointer1=null,this.pointer2=null,this.pointer3=null,this.pointer4=null,this.pointer5=null,this.pointer6=null,this.pointer7=null,this.pointer8=null,this.pointer9=null,this.pointer10=null,this.pointers=[],this.activePointer=null,this.mousePointer=null,this.mouse=null,this.keyboard=null,this.touch=null,this.mspointer=null,this.gamepad=null,this.resetLocked=!1,this.onDown=null,this.onUp=null,this.onTap=null,this.onHold=null,this.minPriorityID=0,this.interactiveItems=new e.ArraySet,this._localPoint=new e.Point,this._pollCounter=0,this._oldPosition=null,this._x=0,this._y=0},e.Input.MOUSE_OVERRIDES_TOUCH=0,e.Input.TOUCH_OVERRIDES_MOUSE=1,e.Input.MOUSE_TOUCH_COMBINE=2,e.Input.MAX_POINTERS=10,e.Input.prototype={boot:function(t){"maxPointers"in t&&(this.maxPointers=t.maxPointers),this.mousePointer=new e.Pointer(this.game,0,e.PointerMode.CURSOR),this.addPointer(),this.addPointer(),this.mouse=new e.Mouse(this.game),this.touch=new e.Touch(this.game),this.mspointer=new e.MSPointer(this.game),this.mouseWheel=new e.MouseWheel(this.game),this.pointerLock=new e.PointerLock(this.game),e.Keyboard&&(this.keyboard=new e.Keyboard(this.game)),e.Gamepad&&(this.gamepad=new e.Gamepad(this.game)),this.onDown=new e.Signal,this.onUp=new e.Signal,this.onTap=new e.Signal,this.onHold=new e.Signal,this.scale=new e.Point(1,1),this.speed=new e.Point,this.position=new e.Point,this._oldPosition=new e.Point,this.circle=new e.Circle(0,0,45),this.activePointer=this.mousePointer,this.hitCanvas=e.CanvasPool.create(this,1,1),this.hitContext=this.hitCanvas.getContext("2d"),this.game.device.mspointer&&!1!==t.mspointer?this.mspointer.start():this.game.device.touch&&!1!==t.touch&&this.touch.start(),this.mspointer.active||!1===t.mouse||this.mouse.start(),this.mousePointer.active=!0,!1!==t.mouseWheel&&this.mouseWheel.start(),!1!==t.pointerLock&&this.pointerLock.start(),this.keyboard&&!1!==t.keyboard&&this.keyboard.start();var i=this;this._onClickTrampoline=function(t){i.onClickTrampoline(t)},this.game.canvas.addEventListener("click",this._onClickTrampoline,!1)},destroy:function(){this.mouse.stop(),this.mouseWheel.stop(),this.touch.stop(),this.mspointer.stop(),this.pointerLock.stop(),this.keyboard&&this.keyboard.stop(),this.gamepad&&this.gamepad.stop(),this.moveCallbacks=[],e.CanvasPool.remove(this),this.game.canvas.removeEventListener("click",this._onClickTrampoline)},setInteractiveCandidateHandler:function(t,e){this.customCandidateHandler=t,this.customCandidateHandlerContext=e},addMoveCallback:function(t,e){this.moveCallbacks.push({callback:t,context:e})},addTouchLockCallback:function(t,e,i){void 0===i&&(i=!1),this.touchLockCallbacks.push({callback:t,context:e,onEnd:i})},removeTouchLockCallback:function(t,e){for(var i=this.touchLockCallbacks.length;i--;)if(this.touchLockCallbacks[i].callback===t&&this.touchLockCallbacks[i].context===e)return this.touchLockCallbacks.splice(i,1),!0;return!1},executeTouchLockCallbacks:function(t,e){for(var i=this.touchLockCallbacks.length;i--;){var s=this.touchLockCallbacks[i];s.onEnd===t&&s.callback.call(s.context,this,e)&&this.touchLockCallbacks.splice(i,1)}},deleteMoveCallback:function(t,e){for(var i=this.moveCallbacks.length;i--;)if(this.moveCallbacks[i].callback===t&&this.moveCallbacks[i].context===e)return void this.moveCallbacks.splice(i,1)},addPointer:function(){if(this.pointers.length>=e.Input.MAX_POINTERS)return console.warn("Phaser.Input.addPointer: Maximum limit of "+e.Input.MAX_POINTERS+" pointers reached."),null;var t=this.pointers.length+1,i=new e.Pointer(this.game,t,e.PointerMode.CONTACT);return this.pointers.push(i),this["pointer"+t]=i,i},update:function(){if(this.keyboard&&this.keyboard.update(),this.pollRate>0&&this._pollCounter=0&&this.countActivePointers(this.maxPointers)>=this.maxPointers)return null;if(!this.pointer1.active)return this.pointer1.start(t);if(!this.pointer2.active)return this.pointer2.start(t);for(var e=2;e0;i++)this.pointers[i].active&&e--;return t-e},getPointer:function(t){void 0===t&&(t=!1);for(var e=0;e=o&&this.game.camera.x+i.x=a&&this.game.camera.y+i.y=o&&this._localPoint.x=a&&this._localPoint.y=o&&this._localPoint.x=a&&this._localPoint.y0&&this._pollCounterthis.game.time.time},justReleased:function(t){return t=t||250,this.isUp&&this.timeUp+t>this.game.time.time},reset:function(){this.isDown=!1,this.isUp=!0,this.timeDown=this.game.time.time,this.repeats=0,this.altKey=!1,this.shiftKey=!1,this.ctrlKey=!1},destroy:function(){this.onDown.dispose(),this.onUp.dispose(),this.onFloat.dispose(),this.parent=null,this.game=null}},e.DeviceButton.prototype.constructor=e.DeviceButton,Object.defineProperty(e.DeviceButton.prototype,"duration",{get:function(){return this.isUp?-1:this.game.time.time-this.timeDown}}),e.Pointer=function(t,i,s){this.game=t,this.id=i,this.type=e.POINTER,this.exists=!0,this.identifier=0,this.pointerId=null,this.pointerMode=s||e.PointerMode.CURSOR|e.PointerMode.CONTACT,this.target=null,this.button=null,this.leftButton=new e.DeviceButton(this,e.Pointer.LEFT_BUTTON),this.middleButton=new e.DeviceButton(this,e.Pointer.MIDDLE_BUTTON),this.rightButton=new e.DeviceButton(this,e.Pointer.RIGHT_BUTTON),this.backButton=new e.DeviceButton(this,e.Pointer.BACK_BUTTON),this.forwardButton=new e.DeviceButton(this,e.Pointer.FORWARD_BUTTON),this.eraserButton=new e.DeviceButton(this,e.Pointer.ERASER_BUTTON),this._holdSent=!1,this._history=[],this._nextDrop=0,this._stateReset=!1,this.withinGame=!1,this.clientX=-1,this.clientY=-1,this.pageX=-1,this.pageY=-1,this.screenX=-1,this.screenY=-1,this.rawMovementX=0,this.rawMovementY=0,this.movementX=0,this.movementY=0,this.x=-1,this.y=-1,this.isMouse=0===i,this.isDown=!1,this.isUp=!0,this.timeDown=0,this.timeUp=0,this.previousTapTime=0,this.totalTouches=0,this.msSinceLastClick=Number.MAX_VALUE,this.targetObject=null,this.interactiveCandidates=[],this.active=!1,this.dirty=!1,this.position=new e.Point,this.positionDown=new e.Point,this.positionUp=new e.Point,this.circle=new e.Circle(0,0,44),this._clickTrampolines=null,this._trampolineTargetObject=null},e.Pointer.NO_BUTTON=0,e.Pointer.LEFT_BUTTON=1,e.Pointer.RIGHT_BUTTON=2,e.Pointer.MIDDLE_BUTTON=4,e.Pointer.BACK_BUTTON=8,e.Pointer.FORWARD_BUTTON=16,e.Pointer.ERASER_BUTTON=32,e.Pointer.prototype={resetButtons:function(){this.isDown=!1,this.isUp=!0,this.isMouse&&(this.leftButton.reset(),this.middleButton.reset(),this.rightButton.reset(),this.backButton.reset(),this.forwardButton.reset(),this.eraserButton.reset())},processButtonsDown:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.start(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.start(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.start(i);break;case e.Mouse.BACK_BUTTON:this.backButton.start(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.start(i)}},processButtonsUp:function(t,i){switch(t){case e.Mouse.LEFT_BUTTON:this.leftButton.stop(i);break;case e.Mouse.RIGHT_BUTTON:this.rightButton.stop(i);break;case e.Mouse.MIDDLE_BUTTON:this.middleButton.stop(i);break;case e.Mouse.BACK_BUTTON:this.backButton.stop(i);break;case e.Mouse.FORWARD_BUTTON:this.forwardButton.stop(i)}},processButtonsUpDown:function(t,i){var s=i.type.toLowerCase().substr(-4),n="down"===s,r="move"===s;void 0!==t?(n&&1===t&&i.ctrlKey&&(t=2),this.leftButton.startStop(e.Pointer.LEFT_BUTTON&t,i),this.rightButton.startStop(e.Pointer.RIGHT_BUTTON&t,i),this.middleButton.startStop(e.Pointer.MIDDLE_BUTTON&t,i),this.backButton.startStop(e.Pointer.BACK_BUTTON&t,i),this.forwardButton.startStop(e.Pointer.FORWARD_BUTTON&t,i),this.eraserButton.startStop(e.Pointer.ERASER_BUTTON&t,i)):void 0!==i.button?n&&i.ctrlKey&&0===i.button?this.rightButton.start(i):n?this.processButtonsDown(i.button,i):r||this.processButtonsUp(i.button,i):n?i.ctrlKey?this.rightButton.start(i):this.leftButton.start(i):(this.leftButton.stop(i),this.rightButton.stop(i))},updateButtons:function(t){this.button=t.button,this.processButtonsUpDown(t.buttons,t),this.isUp=!0,this.isDown=!1,(this.leftButton.isDown||this.rightButton.isDown||this.middleButton.isDown||this.backButton.isDown||this.forwardButton.isDown||this.eraserButton.isDown)&&(this.isUp=!1,this.isDown=!0)},start:function(t){var i=this.game.input;return t.pointerId&&(this.pointerId=t.pointerId),this.identifier=t.identifier,this.target=t.target,this.isMouse?this.updateButtons(t):(this.isDown=!0,this.isUp=!1),this.active=!0,this.withinGame=!0,this.dirty=!1,this._history=[],this._clickTrampolines=null,this._trampolineTargetObject=null,this.msSinceLastClick=this.game.time.time-this.timeDown,this.timeDown=this.game.time.time,this._holdSent=!1,this.move(t,!0),this.positionDown.setTo(this.x,this.y),(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.x=this.x,i.y=this.y,i.position.setTo(this.x,this.y),i.onDown.dispatch(this,t),i.resetSpeed(this.x,this.y)),this._stateReset=!1,this.totalTouches++,null!==this.targetObject&&this.targetObject._touchedHandler(this),this},update:function(){var t=this.game.input;this.active&&(this.dirty&&(t.interactiveItems.total>0&&this.processInteractiveObjects(!1),this.dirty=!1),!1===this._holdSent&&this.duration>=t.holdRate&&((t.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||t.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||t.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===t.totalActivePointers)&&t.onHold.dispatch(this),this._holdSent=!0),t.recordPointerHistory&&this.game.time.time>=this._nextDrop&&(this._nextDrop=this.game.time.time+t.recordRate,this._history.push({x:this.position.x,y:this.position.y}),this._history.length>t.recordLimit&&this._history.shift()))},move:function(t,i){var s=this.game.input;if(!s.pollLocked){void 0===i&&(i=!1),void 0!==t.button&&(this.button=t.button),this.isMouse&&this.updateButtons(t),this.clientX=t.clientX,this.clientY=t.clientY,this.pageX=t.pageX,this.pageY=t.pageY,this.screenX=t.screenX,this.screenY=t.screenY,this.isMouse&&s.pointerLock.locked&&!i&&(this.rawMovementX=t.movementX||t.mozMovementX||t.webkitMovementX||0,this.rawMovementY=t.movementY||t.mozMovementY||t.webkitMovementY||0,this.movementX+=this.rawMovementX,this.movementY+=this.rawMovementY),this.x=(this.pageX-this.game.scale.offset.x)*s.scale.x,this.y=(this.pageY-this.game.scale.offset.y)*s.scale.y,this.position.setTo(this.x,this.y),this.circle.x=this.x,this.circle.y=this.y,(s.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||s.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||s.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===s.totalActivePointers)&&(s.activePointer=this,s.x=this.x,s.y=this.y,s.position.setTo(s.x,s.y),s.circle.x=s.x,s.circle.y=s.y),this.withinGame=this.game.scale.bounds.contains(this.pageX,this.pageY);for(var n=s.moveCallbacks.length;n--;)s.moveCallbacks[n].callback.call(s.moveCallbacks[n].context,this,this.x,this.y,i,t);return null===this.targetObject||this.game.paused&&!this.targetObject.noPause||!0!==this.targetObject.isDragged?s.interactiveItems.total>0&&this.processInteractiveObjects(i):!1===this.targetObject.update(this)&&(this.targetObject=null),this}},processInteractiveObjects:function(t){var e=0,i=-1,s=null,n=this.game.input.interactiveItems.first;for(this.interactiveCandidates=[];n;)n.checked=!1,!n.validForInput(i,e,!1)||this.game.paused&&!n.sprite.noPause||(n.checked=!0,(t&&n.checkPointerDown(this,!0)||!t&&n.checkPointerOver(this,!0))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n))),n=this.game.input.interactiveItems.next;for(n=this.game.input.interactiveItems.first;n;)!n.checked&&n.validForInput(i,e,!0)&&(t&&n.checkPointerDown(this,!1)||!t&&n.checkPointerOver(this,!1))&&(e=n.sprite.renderOrderID,i=n.priorityID,s=n,this.interactiveCandidates.push(n)),n=this.game.input.interactiveItems.next;return this.game.input.customCandidateHandler&&(s=this.game.input.customCandidateHandler.call(this.game.input.customCandidateHandlerContext,this,this.interactiveCandidates,s)),this.swapTarget(s,!1),null!==this.targetObject},swapTarget:function(t,e){void 0===e&&(e=!1),null===t?this.targetObject&&(this.targetObject._pointerOutHandler(this,e),this.targetObject=null):null===this.targetObject?(this.targetObject=t,t._pointerOverHandler(this,e)):this.targetObject===t?!1===t.update(this)&&(this.targetObject=null):(this.targetObject._pointerOutHandler(this,e),this.targetObject=t,this.targetObject._pointerOverHandler(this,e))},leave:function(t){this.withinGame=!1,this.move(t,!1)},stop:function(t){var i=this.game.input;{if(!this._stateReset||!this.withinGame){if(this.timeUp=this.game.time.time,(i.multiInputOverride===e.Input.MOUSE_OVERRIDES_TOUCH||i.multiInputOverride===e.Input.MOUSE_TOUCH_COMBINE||i.multiInputOverride===e.Input.TOUCH_OVERRIDES_MOUSE&&0===i.totalActivePointers)&&(i.onUp.dispatch(this,t),this.duration>=0&&this.duration<=i.tapRate)){var s=this.timeUp-this.previousTapTime0&&(this.active=!1),this.withinGame=this.game.scale.bounds.contains(t.pageX,t.pageY),this.pointerId=null,this.identifier=null,this.positionUp.setTo(this.x,this.y),!1===this.isMouse&&i.currentPointers--,i.callAll("_releasedHandler",this),this._clickTrampolines&&(this._trampolineTargetObject=this.targetObject),this.targetObject=null,this}t.preventDefault()}},justPressed:function(t){return t=t||this.game.input.justPressedRate,!0===this.isDown&&this.timeDown+t>this.game.time.time},justReleased:function(t){return t=t||this.game.input.justReleasedRate,this.isUp&&this.timeUp+t>this.game.time.time},addClickTrampoline:function(t,e,i,s){if(this.isDown){for(var n=this._clickTrampolines=this._clickTrampolines||[],r=0;rt||this.priorityID===t&&this.sprite.renderOrderID>e))},isPixelPerfect:function(){return this.pixelPerfectClick||this.pixelPerfectOver},pointerX:function(t){return t=t||0,this._pointerData[t].x},pointerY:function(t){return t=t||0,this._pointerData[t].y},pointerDown:function(t){return t=t||0,this._pointerData[t].isDown},pointerUp:function(t){return t=t||0,this._pointerData[t].isUp},pointerTimeDown:function(t){return t=t||0,this._pointerData[t].timeDown},pointerTimeUp:function(t){return t=t||0,this._pointerData[t].timeUp},pointerOver:function(t){if(!this.enabled)return!1;if(void 0===t){for(var e=0;e<10;e++)if(this._pointerData[e].isOver)return!0;return!1}return this._pointerData[t].isOver},pointerOut:function(t){if(!this.enabled)return!1;if(void 0!==t)return this._pointerData[t].isOut;for(var e=0;e<10;e++)if(this._pointerData[e].isOut)return!0},pointerTimeOver:function(t){return t=t||0,this._pointerData[t].timeOver},pointerTimeOut:function(t){return t=t||0,this._pointerData[t].timeOut},pointerDragged:function(t){return t=t||0,this._pointerData[t].isDragged},checkPointerDown:function(t,e){return!!(t.isDown&&this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectClick)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPointerOver:function(t,e){return!!(this.enabled&&this.sprite&&this.sprite.parent&&this.sprite.visible&&this.sprite.parent.visible&&0!==this.sprite.worldScale.x&&0!==this.sprite.worldScale.y)&&(!!this.game.input.hitTest(this.sprite,t,this._tempPoint)&&(void 0===e&&(e=!1),!(!e&&this.pixelPerfectOver)||this.checkPixel(this._tempPoint.x,this._tempPoint.y)))},checkPixel:function(t,e,i){if(this.sprite.texture.baseTexture.source){if(null===t&&null===e){this.game.input.getLocalPosition(this.sprite,i,this._tempPoint);var t=this._tempPoint.x,e=this._tempPoint.y}if(0!==this.sprite.anchor.x&&(t-=-this.sprite.texture.frame.width*this.sprite.anchor.x),0!==this.sprite.anchor.y&&(e-=-this.sprite.texture.frame.height*this.sprite.anchor.y),t+=this.sprite.texture.frame.x,e+=this.sprite.texture.frame.y,this.sprite.texture.trim&&(t-=this.sprite.texture.trim.x,e-=this.sprite.texture.trim.y,tthis.sprite.texture.crop.right||ethis.sprite.texture.crop.bottom))return this._dx=t,this._dy=e,!1;if(this._dx=t,this._dy=e,this.game.input.hitContext.clearRect(0,0,1,1),this.game.input.hitContext.drawImage(this.sprite.texture.baseTexture.source,t,e,1,1,0,0,1,1),this.game.input.hitContext.getImageData(0,0,1,1).data[3]>=this.pixelPerfectAlpha)return!0}return!1},update:function(t){if(null!==this.sprite&&void 0!==this.sprite.parent)return this.enabled&&this.sprite.visible&&this.sprite.parent.visible?this._pendingDrag?(this._dragDistancePass||(this._dragDistancePass=e.Math.distance(t.x,t.y,this.downPoint.x,this.downPoint.y)>=this.dragDistanceThreshold),this._dragDistancePass&&this._dragTimePass&&this.startDrag(t),!0):this.draggable&&this._draggedPointerID===t.id?this.updateDrag(t,!1):this._pointerData[t.id].isOver?this.checkPointerOver(t)?(this._pointerData[t.id].x=t.x-this.sprite.x,this._pointerData[t.id].y=t.y-this.sprite.y,!0):(this._pointerOutHandler(t),!1):void 0:(this._pointerOutHandler(t),!1)},_pointerOverHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];if(!1===i.isOver||t.dirty){var s=!1===i.isOver;i.isOver=!0,i.isOut=!1,i.timeOver=this.game.time.time,i.x=t.x-this.sprite.x,i.y=t.y-this.sprite.y,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="pointer",this._setHandCursor=!0),!e&&s&&this.sprite&&this.sprite.events&&this.sprite.events.onInputOver$dispatch(this.sprite,t),this.sprite.parent&&this.sprite.parent.onChildInputOver&&this.sprite.parent.onChildInputOver.dispatch(this.sprite,t)}}},_pointerOutHandler:function(t,e){if(null!==this.sprite){var i=this._pointerData[t.id];i.isOver=!1,i.isOut=!0,i.timeOut=this.game.time.time,this.useHandCursor&&!1===i.isDragged&&(this.game.canvas.style.cursor="",this._setHandCursor=!1),!e&&this.sprite&&this.sprite.events&&(this.sprite.events.onInputOut$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputOut&&this.sprite.parent.onChildInputOut.dispatch(this.sprite,t))}},_touchedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(!e.isDown&&e.isOver){if(this.pixelPerfectClick&&!this.checkPixel(null,null,t))return;if(e.isDown=!0,e.isUp=!1,e.timeDown=this.game.time.time,this.downPoint.set(t.x,t.y),t.dirty=!0,this.sprite&&this.sprite.events&&(this.sprite.events.onInputDown$dispatch(this.sprite,t),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputDown&&this.sprite.parent.onChildInputDown.dispatch(this.sprite,t),null===this.sprite))return;this.draggable&&!1===this.isDragged&&(0===this.dragTimeThreshold&&0===this.dragDistanceThreshold?this.startDrag(t):(this._pendingDrag=!0,this._dragDistancePass=0===this.dragDistanceThreshold,this.dragTimeThreshold>0?(this._dragTimePass=!1,this.game.time.events.add(this.dragTimeThreshold,this.dragTimeElapsed,this,t)):this._dragTimePass=!0)),this.bringToTop&&this.sprite.bringToTop()}}},dragTimeElapsed:function(t){this._dragTimePass=!0,this._pendingDrag&&this.sprite&&this._dragDistancePass&&this.startDrag(t)},_releasedHandler:function(t){if(null!==this.sprite){var e=this._pointerData[t.id];if(e.isDown&&t.isUp){e.isDown=!1,e.isUp=!0,e.timeUp=this.game.time.time,e.downDuration=e.timeUp-e.timeDown;var i=this.checkPointerOver(t);this.sprite&&this.sprite.events&&(this.dragStopBlocksInputUp&&(!this.dragStopBlocksInputUp||this.draggable&&this.isDragged&&this._draggedPointerID===t.id)||this.sprite.events.onInputUp$dispatch(this.sprite,t,i),this.sprite&&this.sprite.parent&&this.sprite.parent.onChildInputUp&&this.sprite.parent.onChildInputUp.dispatch(this.sprite,t,i),i&&(i=this.checkPointerOver(t))),e.isOver=i,!i&&this.useHandCursor&&(this.game.canvas.style.cursor="default",this._setHandCursor=!1),t.dirty=!0,this._pendingDrag=!1,this.draggable&&this.isDragged&&this._draggedPointerID===t.id&&this.stopDrag(t)}}},updateDrag:function(t,e){var i=this.game.camera,s=this.dragOffset,n=this._dragPoint,r=this._pointerData[t.id],o=this.snapPoint,a=this.sprite;if(void 0===e&&(e=!1),t.isUp)return this.stopDrag(t),!1;var h=this.globalToLocal(t);if(a.fixedToCamera)var l=i.scale.x*h.x+n.x+s.x,c=i.scale.y*h.y+n.y+s.y;else var l=h.x+n.x+s.x,c=h.y+n.y+s.y;if(a.fixedToCamera){var u=a.cameraOffset,d=u.x,p=u.y;this.allowHorizontalDrag&&(u.x=l-i.x),this.allowVerticalDrag&&(u.y=c-i.y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(u.x=Math.round((u.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,u.y=Math.round((u.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(u.x,u.y));var f=u.x-d,g=u.y-p}else{var m=i.x-r.camX,y=i.y-r.camY,d=a.x,p=a.y;this.allowHorizontalDrag&&(a.x=l+m),this.allowVerticalDrag&&(a.y=c+y),this.boundsRect&&this.checkBoundsRect(),this.boundsSprite&&this.checkBoundsSprite(),this.snapOnDrag&&(a.x=Math.round((a.x-this.snapOffsetX%this.snapX)/this.snapX)*this.snapX+this.snapOffsetX%this.snapX,a.y=Math.round((a.y-this.snapOffsetY%this.snapY)/this.snapY)*this.snapY+this.snapOffsetY%this.snapY,o.set(a.x,a.y));var f=a.x-d,g=a.y-p}return this.sprite.events.onDragUpdate.dispatch(a,t,l,c,o,e,f,g),!0},justOver:function(t,e){return t=t||0,e=e||500,this._pointerData[t].isOver&&this.overDuration(t)this.boundsRect.right&&(this.sprite.cameraOffset.x=this.boundsRect.right-this.sprite.width),this.sprite.cameraOffset.ythis.boundsRect.bottom&&(this.sprite.cameraOffset.y=this.boundsRect.bottom-this.sprite.height)):(this.sprite.leftthis.boundsRect.right&&(this.sprite.x=this.boundsRect.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsRect.bottom&&(this.sprite.y=this.boundsRect.bottom-(this.sprite.height-this.sprite.offsetY)))},checkBoundsSprite:function(){this.sprite.fixedToCamera&&this.boundsSprite.fixedToCamera?(this.sprite.cameraOffset.xthis.boundsSprite.cameraOffset.x+this.boundsSprite.width&&(this.sprite.cameraOffset.x=this.boundsSprite.cameraOffset.x+this.boundsSprite.width-this.sprite.width),this.sprite.cameraOffset.ythis.boundsSprite.cameraOffset.y+this.boundsSprite.height&&(this.sprite.cameraOffset.y=this.boundsSprite.cameraOffset.y+this.boundsSprite.height-this.sprite.height)):(this.sprite.leftthis.boundsSprite.right&&(this.sprite.x=this.boundsSprite.right-(this.sprite.width-this.sprite.offsetX)),this.sprite.topthis.boundsSprite.bottom&&(this.sprite.y=this.boundsSprite.bottom-(this.sprite.height-this.sprite.offsetY)))}},e.InputHandler.prototype.constructor=e.InputHandler,e.PointerLock=function(t){this.game=t,this.input=t.input,this.element=t.canvas,this.active=!1,this.locked=!1,this.onChange=new e.Signal,this.onError=new e.Signal,this.boundOnChangeHandler=this.onChangeHandler.bind(this),this.boundOnErrorHandler=this.onErrorHandler.bind(this);var i=t.device;this.pointerLockElement=i.pointerLockElement,this.pointerlockchange=i.pointerlockchange,this.pointerlockerror=i.pointerlockerror},e.PointerLock.prototype.start=function(){return!(!this.game.device.pointerLock||this.active)&&(this.element.requestPointerLock||(this.element.requestPointerLock=this.element.mozRequestPointerLock||this.element.webkitRequestPointerLock),document.exitPointerLock||(document.exitPointerLock=document.mozExitPointerLock||document.webkitExitPointerLock),document.addEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.addEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!0,!0)},e.PointerLock.prototype.stop=function(){this.active&&(document.removeEventListener(this.pointerlockchange,this.boundOnChangeHandler,!0),document.removeEventListener(this.pointerlockerror,this.boundOnErrorHandler,!0),this.active=!1)},e.PointerLock.prototype.request=function(){this.active&&!this.locked&&this.element.requestPointerLock()},e.PointerLock.prototype.exit=function(){document.exitPointerLock()},e.PointerLock.prototype.onChangeHandler=function(t){this.locked=document[this.pointerLockElement]===this.element,this.onChange.dispatch(this.locked,t)},e.PointerLock.prototype.onErrorHandler=function(t){this.onError.dispatch(t)},e.Gamepad=function(t){this.game=t,this._gamepadIndexMap={},this._rawPads=[],this._active=!1,this.enabled=!0,this._gamepadSupportAvailable=!!navigator.webkitGetGamepads||!!navigator.webkitGamepads||-1!==navigator.userAgent.indexOf("Firefox/")||!!navigator.getGamepads,this._prevRawGamepadTypes=[],this._prevTimestamps=[],this.callbackContext=this,this.onConnectCallback=null,this.onDisconnectCallback=null,this.onDownCallback=null,this.onUpCallback=null,this.onAxisCallback=null,this.onFloatCallback=null,this._ongamepadconnected=null,this._gamepaddisconnected=null,this._gamepads=[new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this),new e.SinglePad(t,this)]},e.Gamepad.prototype={addCallbacks:function(t,e){void 0!==e&&(this.onConnectCallback="function"==typeof e.onConnect?e.onConnect:this.onConnectCallback,this.onDisconnectCallback="function"==typeof e.onDisconnect?e.onDisconnect:this.onDisconnectCallback,this.onDownCallback="function"==typeof e.onDown?e.onDown:this.onDownCallback,this.onUpCallback="function"==typeof e.onUp?e.onUp:this.onUpCallback,this.onAxisCallback="function"==typeof e.onAxis?e.onAxis:this.onAxisCallback,this.onFloatCallback="function"==typeof e.onFloat?e.onFloat:this.onFloatCallback,this.callbackContext=t)},start:function(){if(!this._active){this._active=!0;var t=this;this._onGamepadConnected=function(e){return t.onGamepadConnected(e)},this._onGamepadDisconnected=function(e){return t.onGamepadDisconnected(e)},window.addEventListener("gamepadconnected",this._onGamepadConnected,!1),window.addEventListener("gamepaddisconnected",this._onGamepadDisconnected,!1)}},onGamepadConnected:function(t){var e=t.gamepad;this._rawPads.push(e),this._gamepads[e.index].connect(e)},onGamepadDisconnected:function(t){var e=t.gamepad;for(var i in this._rawPads)this._rawPads[i].index===e.index&&this._rawPads.splice(i,1);this._gamepads[e.index].disconnect()},update:function(){this._pollGamepads(),this.pad1.pollStatus(),this.pad2.pollStatus(),this.pad3.pollStatus(),this.pad4.pollStatus()},_pollGamepads:function(){if(this._active){if(navigator.getGamepads)t=navigator.getGamepads();else if(navigator.webkitGetGamepads)t=navigator.webkitGetGamepads();else if(navigator.webkitGamepads)var t=navigator.webkitGamepads();if(t){this._rawPads=[];for(var e=!1,i=0;i0&&s>this.deadZone||s<0&&s<-this.deadZone?this.processAxisChange(i,s):this.processAxisChange(i,0)}this._prevTimestamp=this._rawPad.timestamp}},connect:function(t){var i=!this.connected;this.connected=!0,this.index=t.index,this._rawPad=t,this._buttons=[],this._buttonsLen=t.buttons.length,this._axes=[],this._axesLen=t.axes.length;for(var s=0;sthis.maxHealth&&(this.health=this.maxHealth),this},heal:function(t){return this.alive&&(this.health+=t,this.health>this.maxHealth&&(this.health=this.maxHealth)),this}},e.Component.InCamera=function(){},e.Component.InCamera.prototype={inCamera:{get:function(){return this.game.world.camera.view.intersects(this._bounds)}}},e.Component.InputEnabled=function(){},e.Component.InputEnabled.prototype={input:null,inputEnabled:{get:function(){return this.input&&this.input.enabled},set:function(t){t?null===this.input?(this.input=new e.InputHandler(this),this.input.start()):this.input&&!this.input.enabled&&this.input.start():this.input&&this.input.enabled&&this.input.stop()}}},e.Component.InWorld=function(){},e.Component.InWorld.preUpdate=function(){if(this.pendingDestroy)return this.destroy(),!1;if(this.autoCull||this.checkWorldBounds){if(this._bounds.copyFrom(this.getBounds()),this._bounds.x+=this.game.camera.view.x,this._bounds.y+=this.game.camera.view.y,this.autoCull)if(this.game.world.camera.view.intersects(this._bounds))this.renderable=!0,this.game.world.camera.totalInView++;else if(this.renderable=!1,this.outOfCameraBoundsKill)return this.kill(),!1;if(this.checkWorldBounds)if(this._outOfBoundsFired&&this.game.world.bounds.intersects(this._bounds))this._outOfBoundsFired=!1,this.events.onEnterBounds$dispatch(this);else if(!this._outOfBoundsFired&&!this.game.world.bounds.intersects(this._bounds)&&(this._outOfBoundsFired=!0,this.events.onOutOfBounds$dispatch(this),this.outOfBoundsKill))return this.kill(),!1}return!0},e.Component.InWorld.prototype={checkWorldBounds:!1,outOfBoundsKill:!1,outOfCameraBoundsKill:!1,_outOfBoundsFired:!1,inWorld:{get:function(){return this.game.world.bounds.intersects(this.getBounds())}}},e.Component.LifeSpan=function(){},e.Component.LifeSpan.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):!(this.lifespan>0&&(this.lifespan-=this.game.time.physicsElapsedMS,this.lifespan<=0))||(this.kill(),!1)},e.Component.LifeSpan.prototype={alive:!0,lifespan:0,revive:function(t){return void 0===t&&(t=100),this.alive=!0,this.exists=!0,this.visible=!0,"function"==typeof this.setHealth&&this.setHealth(t),this.events&&this.events.onRevived$dispatch(this),this},kill:function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.events&&this.events.onKilled$dispatch(this),this}},e.Component.LoadTexture=function(){},e.Component.LoadTexture.prototype={customRender:!1,_frame:null,loadTexture:function(t,i,s){t===e.PENDING_ATLAS?(t=i,i=0):i=i||0,(s||void 0===s)&&this.animations&&this.animations.stop(),this.key=t,this.customRender=!1;var n=this.game.cache,r=!0,o=this.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR;if(e.RenderTexture&&t instanceof e.RenderTexture)this.key=t.key,this.setTexture(t);else if(e.BitmapData&&t instanceof e.BitmapData)this.customRender=!0,this.setTexture(t.texture),r=n.hasFrameData(t.key,e.Cache.BITMAPDATA)?!this.animations.loadFrameData(n.getFrameData(t.key,e.Cache.BITMAPDATA),i):!this.animations.loadFrameData(t.frameData,0);else if(e.Video&&t instanceof e.Video){this.customRender=!0;var a=t.texture.valid;this.setTexture(t.texture),this.setFrame(t.texture.frame.clone()),t.onChangeSource.add(this.resizeFrame,this),this.texture.valid=a}else if(e.Tilemap&&t instanceof e.TilemapLayer)this.setTexture(PIXI.Texture.fromCanvas(t.canvas));else if(t instanceof PIXI.Texture)o=t.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,this.setTexture(t);else{var h=n.getImage(t,!0);this.key=h.key,this.setTexture(new PIXI.Texture(h.base)),this.texture.baseTexture.skipRender="__default"===t,r=!this.animations.loadFrameData(h.frameData,i)}r&&(this._frame=e.Rectangle.clone(this.texture.frame)),o||(this.texture.baseTexture.scaleMode=1)},setFrame:function(t){this._frame=t,this.texture.frame.x=t.x,this.texture.frame.y=t.y,this.texture.frame.width=t.width,this.texture.frame.height=t.height,this.texture.crop.x=t.x,this.texture.crop.y=t.y,this.texture.crop.width=t.width,this.texture.crop.height=t.height,t.trimmed?(this.texture.trim?(this.texture.trim.x=t.spriteSourceSizeX,this.texture.trim.y=t.spriteSourceSizeY,this.texture.trim.width=t.sourceSizeW,this.texture.trim.height=t.sourceSizeH):this.texture.trim={x:t.spriteSourceSizeX,y:t.spriteSourceSizeY,width:t.sourceSizeW,height:t.sourceSizeH},this.texture.width=t.sourceSizeW,this.texture.height=t.sourceSizeH,this.texture.frame.width=t.sourceSizeW,this.texture.frame.height=t.sourceSizeH):!t.trimmed&&this.texture.trim&&(this.texture.trim=null),t.rotated&&(this.texture.rotated=!0),this.cropRect&&this.updateCrop(),this.texture.requiresReTint=!0,this.texture._updateUvs(),this.tilingTexture&&(this.refreshTexture=!0)},resizeFrame:function(t,e,i){this.texture.frame.resize(e,i),this.texture.setFrame(this.texture.frame)},resetFrame:function(){this._frame&&this.setFrame(this._frame)},frame:{get:function(){return this.animations.frame},set:function(t){this.animations.frame=t}},frameName:{get:function(){return this.animations.frameName},set:function(t){this.animations.frameName=t}}},e.Component.Overlap=function(){},e.Component.Overlap.prototype={overlap:function(t){return e.Rectangle.intersects(this.getBounds(),t.getBounds())}},e.Component.PhysicsBody=function(){},e.Component.PhysicsBody.preUpdate=function(){return this.pendingDestroy?(this.destroy(),!1):this.fresh&&this.exists?(this.world.setTo(this.parent.position.x+this.position.x,this.parent.position.y+this.position.y),this.worldTransform.tx=this.world.x,this.worldTransform.ty=this.world.y,this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,this.body&&this.body.preUpdate(),this.fresh=!1,this.preUpdateChildren(),!1):(this.previousPosition.set(this.world.x,this.world.y),this.previousRotation=this.rotation,!(!this._exists||!this.parent.exists)||(this.renderOrderID=-1,!1))},e.Component.PhysicsBody.postUpdate=function(){this.exists&&this.body&&this.body.postUpdate()},e.Component.PhysicsBody.prototype={body:null,x:{get:function(){return this.position.x},set:function(t){this.position.x=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}},y:{get:function(){return this.position.y},set:function(t){this.position.y=t,this.body&&!this.body.dirty&&(this.body._reset=!0)}}},e.Component.Reset=function(){},e.Component.Reset.prototype.reset=function(t,e,i){return void 0===i&&(i=1),this.world.set(t,e),this.position.set(t,e),this.fresh=!0,this.exists=!0,this.visible=!0,this.renderable=!0,this.components.InWorld&&(this._outOfBoundsFired=!1),this.components.LifeSpan&&(this.alive=!0,this.health=i),this.components.PhysicsBody&&this.body&&this.body.reset(t,e,!1,!1),this},e.Component.ScaleMinMax=function(){},e.Component.ScaleMinMax.prototype={transformCallback:null,transformCallbackContext:this,scaleMin:null,scaleMax:null,checkTransform:function(t){this.scaleMin&&(t.athis.scaleMax.x&&(t.a=this.scaleMax.x),t.d>this.scaleMax.y&&(t.d=this.scaleMax.y))},setScaleMinMax:function(t,i,s,n){void 0===i?i=s=n=t:void 0===s&&(s=n=i,i=t),null===t?this.scaleMin=null:this.scaleMin?this.scaleMin.set(t,i):this.scaleMin=new e.Point(t,i),null===s?this.scaleMax=null:this.scaleMax?this.scaleMax.set(s,n):this.scaleMax=new e.Point(s,n),null===this.scaleMin?this.transformCallback=null:(this.transformCallback=this.checkTransform,this.transformCallbackContext=this)}},e.Component.Smoothed=function(){},e.Component.Smoothed.prototype={smoothed:{get:function(){return!this.texture.baseTexture.scaleMode},set:function(t){t?this.texture&&0!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=0,this.texture.baseTexture.dirty()):this.texture&&1!==this.texture.baseTexture.scaleMode&&(this.texture.baseTexture.scaleMode=1,this.texture.baseTexture.dirty())}}},e.GameObjectFactory=function(t){this.game=t,this.world=this.game.world},e.GameObjectFactory.prototype={existing:function(t){return this.world.add(t)},weapon:function(t,i,s,n,r){var o=this.game.plugins.add(e.Weapon);return r&&(o.bulletClass=r),o.createBullets(t,i,s,n),o},image:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Image(this.game,t,i,s,n))},sprite:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Sprite(this.game,t,i,s,n))},creature:function(t,i,s,n,r,o,a){void 0===r&&(r=this.world);var h=new e.Creature(this.game,t,i,s,n,o,a);return r.add(h),h},tween:function(t){return this.game.tweens.create(t)},group:function(t,i,s,n,r){return new e.Group(this.game,t,i,s,n,r)},physicsGroup:function(t,i,s,n){return new e.Group(this.game,i,s,n,!0,t)},spriteBatch:function(t,i,s){return void 0===t&&(t=null),void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},tileSprite:function(t,i,s,n,r,o,a){return void 0===a&&(a=this.world),a.add(new e.TileSprite(this.game,t,i,s,n,r,o))},rope:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.Rope(this.game,t,i,s,n,r))},text:function(t,i,s,n,r){return void 0===r&&(r=this.world),r.add(new e.Text(this.game,t,i,s,n))},button:function(t,i,s,n,r,o,a,h,l,c){return void 0===c&&(c=this.world),c.add(new e.Button(this.game,t,i,s,n,r,o,a,h,l))},graphics:function(t,i,s){return void 0===s&&(s=this.world),s.add(new e.Graphics(this.game,t,i))},emitter:function(t,i,s){return this.game.particles.add(new e.Particles.Arcade.Emitter(this.game,t,i,s))},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return void 0===o&&(o=this.world),o.add(new e.BitmapText(this.game,t,i,s,n,r))},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},video:function(t,i){return new e.Video(this.game,t,i)},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t},plugin:function(){return this.game.plugins.add.apply(this.game.plugins,arguments)}},e.GameObjectFactory.prototype.constructor=e.GameObjectFactory,e.GameObjectCreator=function(t){this.game=t,this.world=this.game.world},e.GameObjectCreator.prototype={image:function(t,i,s,n){return new e.Image(this.game,t,i,s,n)},sprite:function(t,i,s,n){return new e.Sprite(this.game,t,i,s,n)},tween:function(t){return new e.Tween(t,this.game,this.game.tweens)},group:function(t,i,s,n,r){return new e.Group(this.game,t||null,i,s,n,r)},spriteBatch:function(t,i,s){return void 0===i&&(i="group"),void 0===s&&(s=!1),new e.SpriteBatch(this.game,t,i,s)},audio:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},audioSprite:function(t){return this.game.sound.addSprite(t)},sound:function(t,e,i,s){return this.game.sound.add(t,e,i,s)},tileSprite:function(t,i,s,n,r,o){return new e.TileSprite(this.game,t,i,s,n,r,o)},rope:function(t,i,s,n,r){return new e.Rope(this.game,t,i,s,n,r)},text:function(t,i,s,n){return new e.Text(this.game,t,i,s,n)},button:function(t,i,s,n,r,o,a,h,l){return new e.Button(this.game,t,i,s,n,r,o,a,h,l)},graphics:function(t,i){return new e.Graphics(this.game,t,i)},emitter:function(t,i,s){return new e.Particles.Arcade.Emitter(this.game,t,i,s)},retroFont:function(t,i,s,n,r,o,a,h,l){return new e.RetroFont(this.game,t,i,s,n,r,o,a,h,l)},bitmapText:function(t,i,s,n,r,o){return new e.BitmapText(this.game,t,i,s,n,r,o)},tilemap:function(t,i,s,n,r){return new e.Tilemap(this.game,t,i,s,n,r)},renderTexture:function(t,i,s,n){void 0!==s&&""!==s||(s=this.game.rnd.uuid()),void 0===n&&(n=!1);var r=new e.RenderTexture(this.game,t,i,s);return n&&this.game.cache.addRenderTexture(s,r),r},bitmapData:function(t,i,s,n){void 0===n&&(n=!1),void 0!==s&&""!==s||(s=this.game.rnd.uuid());var r=new e.BitmapData(this.game,s,t,i);return n&&this.game.cache.addBitmapData(s,r),r},filter:function(t){var i=Array.prototype.slice.call(arguments,1);return(t=new e.Filter[t](this.game)).init.apply(t,i),t}},e.GameObjectCreator.prototype.constructor=e.GameObjectCreator,e.Sprite=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.SPRITE,this.physicsType=e.SPRITE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Sprite.prototype=Object.create(PIXI.Sprite.prototype),e.Sprite.prototype.constructor=e.Sprite,e.Component.Core.install.call(e.Sprite.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","Health","InCamera","InputEnabled","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Sprite.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Sprite.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Sprite.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Sprite.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Sprite.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Image=function(t,i,s,n,r){i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.IMAGE,PIXI.Sprite.call(this,e.Cache.DEFAULT),e.Component.Core.init.call(this,t,i,s,n,r)},e.Image.prototype=Object.create(PIXI.Sprite.prototype),e.Image.prototype.constructor=e.Image,e.Component.Core.install.call(e.Image.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Destroy","FixedToCamera","InputEnabled","LifeSpan","LoadTexture","Overlap","Reset","ScaleMinMax","Smoothed"]),e.Image.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Image.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Image.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Image.prototype.preUpdate=function(){return!(!this.preUpdateInWorld()||!this.preUpdateLifeSpan())&&this.preUpdateCore()},e.Button=function(t,i,s,n,r,o,a,h,l,c){i=i||0,s=s||0,n=n||null,r=r||null,o=o||this,e.Image.call(this,t,i,s,n,h),this.type=e.BUTTON,this.physicsType=e.SPRITE,this._onOverFrame=null,this._onOutFrame=null,this._onDownFrame=null,this._onUpFrame=null,this.onOverSound=null,this.onOutSound=null,this.onDownSound=null,this.onUpSound=null,this.onOverSoundMarker="",this.onOutSoundMarker="",this.onDownSoundMarker="",this.onUpSoundMarker="",this.onInputOver=new e.Signal,this.onInputOut=new e.Signal,this.onInputDown=new e.Signal,this.onInputUp=new e.Signal,this.onOverMouseOnly=!0,this.justReleasedPreventsOver=e.PointerMode.CONTACT,this.freezeFrames=!1,this.forceOut=!1,this.inputEnabled=!0,this.input.start(0,!0),this.input.useHandCursor=!0,this.setFrames(a,h,l,c),null!==r&&this.onInputUp.add(r,o),this.events.onInputOver.add(this.onInputOverHandler,this),this.events.onInputOut.add(this.onInputOutHandler,this),this.events.onInputDown.add(this.onInputDownHandler,this),this.events.onInputUp.add(this.onInputUpHandler,this)},e.Button.prototype=Object.create(e.Image.prototype),e.Button.prototype.constructor=e.Button;return e.Button.prototype.clearFrames=function(){this.setFrames(null,null,null,null)},e.Button.prototype.setStateFrame=function(t,e,i){var s="_on"+t+"Frame";null!==e?(this[s]=e,i&&this.changeStateFrame(t)):this[s]=null},e.Button.prototype.changeStateFrame=function(t){if(this.freezeFrames)return!1;var e=this["_on"+t+"Frame"];return"string"==typeof e?(this.frameName=e,!0):"number"==typeof e&&(this.frame=e,!0)},e.Button.prototype.setFrames=function(t,e,i,s){this.setStateFrame("Over",t,this.input.pointerOver()),this.setStateFrame("Out",e,!this.input.pointerOver()),this.setStateFrame("Down",i,this.input.pointerDown()),this.setStateFrame("Up",s,this.input.pointerUp())},e.Button.prototype.setStateSound=function(t,i,s){var n="on"+t+"Sound",r="on"+t+"SoundMarker";i instanceof e.Sound||i instanceof e.AudioSprite?(this[n]=i,this[r]="string"==typeof s?s:""):(this[n]=null,this[r]="")},e.Button.prototype.playStateSound=function(t){var e=this["on"+t+"Sound"];if(e){var i=this["on"+t+"SoundMarker"];return e.play(i),!0}return!1},e.Button.prototype.setSounds=function(t,e,i,s,n,r,o,a){this.setStateSound("Over",t,e),this.setStateSound("Out",n,r),this.setStateSound("Down",i,s),this.setStateSound("Up",o,a)},e.Button.prototype.setOverSound=function(t,e){this.setStateSound("Over",t,e)},e.Button.prototype.setOutSound=function(t,e){this.setStateSound("Out",t,e)},e.Button.prototype.setDownSound=function(t,e){this.setStateSound("Down",t,e)},e.Button.prototype.setUpSound=function(t,e){this.setStateSound("Up",t,e)},e.Button.prototype.onInputOverHandler=function(t,e){e.justReleased()&&(this.justReleasedPreventsOver&e.pointerMode)===e.pointerMode||(this.changeStateFrame("Over"),this.onOverMouseOnly&&!e.isMouse||(this.playStateSound("Over"),this.onInputOver&&this.onInputOver.dispatch(this,e)))},e.Button.prototype.onInputOutHandler=function(t,e){this.changeStateFrame("Out"),this.playStateSound("Out"),this.onInputOut&&this.onInputOut.dispatch(this,e)},e.Button.prototype.onInputDownHandler=function(t,e){this.changeStateFrame("Down"),this.playStateSound("Down"),this.onInputDown&&this.onInputDown.dispatch(this,e)},e.Button.prototype.onInputUpHandler=function(t,e,i){this.playStateSound("Up"),this.onInputUp&&this.onInputUp.dispatch(this,e,i),this.freezeFrames||(!0===this.forceOut||(this.forceOut&e.pointerMode)===e.pointerMode?this.changeStateFrame("Out"):this.changeStateFrame("Up")||(i?this.changeStateFrame("Over"):this.changeStateFrame("Out")))},e.SpriteBatch=function(t,i,s,n){void 0!==i&&null!==i||(i=t.world),e.Group.call(this,t,i,s,n),this.type=e.SPRITEBATCH,this.fastSpriteBatch=null,this.ready=!1},e.SpriteBatch.prototype=Object.create(e.Group.prototype),e.SpriteBatch.prototype.constructor=e.SpriteBatch,e.SpriteBatch.prototype._renderWebGL=function(t){!this.visible||this.alpha<=0||!this.children.length||(this.ready||(this.fastSpriteBatch=new PIXI.WebGLFastSpriteBatch(t.gl),this.ready=!0),this.fastSpriteBatch.gl!==t.gl&&this.fastSpriteBatch.setContext(t.gl),t.spriteBatch.stop(),t.shaderManager.setShader(t.shaderManager.fastShader),this.fastSpriteBatch.begin(this,t),this.fastSpriteBatch.render(this),t.spriteBatch.start())},e.SpriteBatch.prototype._renderCanvas=function(t){if(this.visible&&!(this.alpha<=0)&&this.children.length){var e=t.context;e.globalAlpha=this.worldAlpha,this.displayObjectUpdateTransform();for(var i=this.worldTransform,s=!0,n=0;n=0&&t<=this.width&&i>=0&&i<=this.height&&(e.Device.LITTLE_ENDIAN?this.pixels[i*this.width+t]=o<<24|r<<16|n<<8|s:this.pixels[i*this.width+t]=s<<24|n<<16|r<<8|o,a&&(this.context.putImageData(this.imageData,0,0),this.dirty=!0)),this},setPixel:function(t,e,i,s,n,r){return this.setPixel32(t,e,i,s,n,255,r)},getPixel:function(t,i,s){s||(s=e.Color.createColor());var n=~~(t+i*this.width);return n*=4,s.r=this.data[n],s.g=this.data[++n],s.b=this.data[++n],s.a=this.data[++n],s},getPixel32:function(t,e){if(t>=0&&t<=this.width&&e>=0&&e<=this.height)return this.pixels[e*this.width+t]},getPixelRGB:function(t,i,s,n,r){return e.Color.unpackPixel(this.getPixel32(t,i),s,n,r)},getPixels:function(t){return this.context.getImageData(t.x,t.y,t.width,t.height)},getFirstPixel:function(t){void 0===t&&(t=0);var i=e.Color.createColor(),s=0,n=0,r=1,o=!1;1===t?(r=-1,n=this.height):3===t&&(r=-1,s=this.width);do{e.Color.unpackPixel(this.getPixel32(s,n),i),0===t||1===t?++s===this.width&&(s=0,((n+=r)>=this.height||n<=0)&&(o=!0)):2!==t&&3!==t||++n===this.height&&(n=0,((s+=r)>=this.width||s<=0)&&(o=!0))}while(0===i.a&&!o);return i.x=s,i.y=n,i},getBounds:function(t){return void 0===t&&(t=new e.Rectangle),t.x=this.getFirstPixel(2).x,t.x===this.width?t.setTo(0,0,0,0):(t.y=this.getFirstPixel(0).y,t.width=this.getFirstPixel(3).x-t.x+1,t.height=this.getFirstPixel(1).y-t.y+1,t)},addToWorld:function(t,e,i,s,n,r){n=n||1,r=r||1;var o=this.game.add.image(t,e,this);return o.anchor.set(i,s),o.scale.set(n,r),o},copy:function(t,i,s,n,r,o,a,h,l,c,u,d,p,f,g,m,y){if(void 0!==t&&null!==t||(t=this),t instanceof e.RenderTexture&&(t=t.getCanvas()),this._image=t,t instanceof e.Sprite||t instanceof e.Image||t instanceof e.Text||t instanceof PIXI.Sprite)this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),this._scale.set(t.scale.x,t.scale.y),this._anchor.set(t.anchor.x,t.anchor.y),this._rotate=t.rotation,this._alpha.current=t.alpha,t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source,void 0!==o&&null!==o||(o=t.x),void 0!==a&&null!==a||(a=t.y),t.texture.trim&&(o+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,a+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0));else{if(this._pos.set(0),this._scale.set(1),this._anchor.set(0),this._rotate=0,this._alpha.current=1,t instanceof e.BitmapData)this._image=t.canvas;else if("string"==typeof t){if(null===(t=this.game.cache.getImage(t)))return this;this._image=t}this._size.set(this._image.width,this._image.height)}if(void 0!==i&&null!==i||(i=0),void 0!==s&&null!==s||(s=0),n&&(this._size.x=n),r&&(this._size.y=r),void 0!==o&&null!==o||(o=i),void 0!==a&&null!==a||(a=s),void 0!==h&&null!==h||(h=this._size.x),void 0!==l&&null!==l||(l=this._size.y),"number"==typeof c&&(this._rotate=c),"number"==typeof u&&(this._anchor.x=u),"number"==typeof d&&(this._anchor.y=d),"number"==typeof p&&(this._scale.x=p),"number"==typeof f&&(this._scale.y=f),"number"==typeof g&&(this._alpha.current=g),void 0===m&&(m=null),void 0===y&&(y=!1),this._alpha.current<=0||0===this._scale.x||0===this._scale.y||0===this._size.x||0===this._size.y)return this;var v=this.context;return this._alpha.prev=v.globalAlpha,v.save(),v.globalAlpha=this._alpha.current,m&&(this.op=m),y&&(o|=0,a|=0),v.translate(o,a),v.scale(this._scale.x,this._scale.y),v.rotate(this._rotate),v.drawImage(this._image,this._pos.x+i,this._pos.y+s,this._size.x,this._size.y,-h*this._anchor.x,-l*this._anchor.y,h,l),v.restore(),v.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyTransform:function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=!1),!t.hasOwnProperty("worldTransform")||!t.worldVisible||0===t.worldAlpha)return this;var n=t.worldTransform;if(this._pos.set(t.texture.crop.x,t.texture.crop.y),this._size.set(t.texture.crop.width,t.texture.crop.height),0===n.a||0===n.d||0===this._size.x||0===this._size.y)return this;t.texture instanceof e.RenderTexture?this._image=t.texture.getCanvas():this._image=t.texture.baseTexture.source;var r=n.tx,o=n.ty;t.texture.trim&&(r+=t.texture.trim.x-t.anchor.x*t.texture.trim.width,o+=t.texture.trim.y-t.anchor.y*t.texture.trim.height),16777215!==t.tint&&(t.cachedTint!==t.tint&&(t.cachedTint=t.tint,t.tintedTexture=PIXI.CanvasTinter.getTintedTexture(t,t.tint)),this._image=t.tintedTexture,this._pos.set(0)),s&&(r|=0,o|=0);var a=this.context;return this._alpha.prev=a.globalAlpha,a.save(),a.globalAlpha=this._alpha.current,i&&(this.op=i),a[this.smoothProperty]=t.texture.baseTexture.scaleMode===PIXI.scaleModes.LINEAR,a.setTransform(n.a,n.b,n.c,n.d,r,o),a.drawImage(this._image,this._pos.x,this._pos.y,this._size.x,this._size.y,-this._size.x*t.anchor.x,-this._size.y*t.anchor.y,this._size.x,this._size.y),a.restore(),a.globalAlpha=this._alpha.prev,this.dirty=!0,this},copyRect:function(t,e,i,s,n,r,o){return this.copy(t,e.x,e.y,e.width,e.height,i,s,e.width,e.height,0,0,0,1,1,n,r,o)},draw:function(t,e,i,s,n,r,o){return this.copy(t,null,null,null,null,e,i,s,n,null,null,null,null,null,null,r,o)},drawGroup:function(t,e,i){return t.total>0&&t.forEachExists(this.drawGroupProxy,this,e,i),this},drawGroupProxy:function(t,i,s){if(t.hasOwnProperty("texture")&&this.copyTransform(t,i,s),t.type===e.GROUP&&t.exists)this.drawGroup(t,i,s);else if(t.hasOwnProperty("children")&&t.children.length>0)for(var n=0;ni.width&&(n=i.width);var r=this.context;return r.fillStyle=r.createPattern(i,s),this._circle=new e.Circle(t.start.x,t.start.y,i.height),this._circle.circumferencePoint(t.angle-1.5707963267948966,!1,this._pos),r.save(),r.translate(this._pos.x,this._pos.y),r.rotate(t.angle),r.fillRect(0,0,n,i.height),r.restore(),this.dirty=!0,this}},render:function(){return!this.disableTextureUpload&&this.dirty&&(this.baseTexture.dirty(),this.dirty=!1),this},destroy:function(){this.frameData.destroy(),this.texture.destroy(!0),e.CanvasPool.remove(this)},blendReset:function(){return this.op="source-over",this},blendSourceOver:function(){return this.op="source-over",this},blendSourceIn:function(){return this.op="source-in",this},blendSourceOut:function(){return this.op="source-out",this},blendSourceAtop:function(){return this.op="source-atop",this},blendDestinationOver:function(){return this.op="destination-over",this},blendDestinationIn:function(){return this.op="destination-in",this},blendDestinationOut:function(){return this.op="destination-out",this},blendDestinationAtop:function(){return this.op="destination-atop",this},blendXor:function(){return this.op="xor",this},blendAdd:function(){return this.op="lighter",this},blendMultiply:function(){return this.op="multiply",this},blendScreen:function(){return this.op="screen",this},blendOverlay:function(){return this.op="overlay",this},blendDarken:function(){return this.op="darken",this},blendLighten:function(){return this.op="lighten",this},blendColorDodge:function(){return this.op="color-dodge",this},blendColorBurn:function(){return this.op="color-burn",this},blendHardLight:function(){return this.op="hard-light",this},blendSoftLight:function(){return this.op="soft-light",this},blendDifference:function(){return this.op="difference",this},blendExclusion:function(){return this.op="exclusion",this},blendHue:function(){return this.op="hue",this},blendSaturation:function(){return this.op="saturation",this},blendColor:function(){return this.op="color",this},blendLuminosity:function(){return this.op="luminosity",this},copyBitmapData:function(t,e,i){t.update();for(var s,n=0;n80*s){h=c=t[0],l=u=t[1];for(var g=s;gc&&(c=d),p>u&&(u=p);f=Math.max(c-h,u-l)}return e.EarCut.earcutLinked(o,a,s,h,l,f),a},e.EarCut.linkedList=function(t,i,s,n,r){var o,a,h,l=0;for(o=i,a=s-n;o0)for(o=i;o=i;o-=n)h=e.EarCut.insertNode(o,t[o],t[o+1],h);return h},e.EarCut.filterPoints=function(t,i){if(!t)return t;i||(i=t);var s,n=t;do{if(s=!1,n.steiner||!e.EarCut.equals(n,n.next)&&0!==e.EarCut.area(n.prev,n,n.next))n=n.next;else{if(e.EarCut.removeNode(n),(n=i=n.prev)===n.next)return null;s=!0}}while(s||n!==i);return i},e.EarCut.earcutLinked=function(t,i,s,n,r,o,a){if(t){!a&&o&&e.EarCut.indexCurve(t,n,r,o);for(var h,l,c=t;t.prev!==t.next;)if(h=t.prev,l=t.next,o?e.EarCut.isEarHashed(t,n,r,o):e.EarCut.isEar(t))i.push(h.i/s),i.push(t.i/s),i.push(l.i/s),e.EarCut.removeNode(t),t=l.next,c=l.next;else if((t=l)===c){a?1===a?(t=e.EarCut.cureLocalIntersections(t,i,s),e.EarCut.earcutLinked(t,i,s,n,r,o,2)):2===a&&e.EarCut.splitEarcut(t,i,s,n,r,o):e.EarCut.earcutLinked(e.EarCut.filterPoints(t),i,s,n,r,o,1);break}}},e.EarCut.isEar=function(t){var i=t.prev,s=t,n=t.next;if(e.EarCut.area(i,s,n)>=0)return!1;for(var r=t.next.next;r!==t.prev;){if(e.EarCut.pointInTriangle(i.x,i.y,s.x,s.y,n.x,n.y,r.x,r.y)&&e.EarCut.area(r.prev,r,r.next)>=0)return!1;r=r.next}return!0},e.EarCut.isEarHashed=function(t,i,s,n){var r=t.prev,o=t,a=t.next;if(e.EarCut.area(r,o,a)>=0)return!1;for(var h=r.xo.x?r.x>a.x?r.x:a.x:o.x>a.x?o.x:a.x,u=r.y>o.y?r.y>a.y?r.y:a.y:o.y>a.y?o.y:a.y,d=e.EarCut.zOrder(h,l,i,s,n),p=e.EarCut.zOrder(c,u,i,s,n),f=t.nextZ;f&&f.z<=p;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.nextZ}for(f=t.prevZ;f&&f.z>=d;){if(f!==t.prev&&f!==t.next&&e.EarCut.pointInTriangle(r.x,r.y,o.x,o.y,a.x,a.y,f.x,f.y)&&e.EarCut.area(f.prev,f,f.next)>=0)return!1;f=f.prevZ}return!0},e.EarCut.cureLocalIntersections=function(t,i,s){var n=t;do{var r=n.prev,o=n.next.next;e.EarCut.intersects(r,n,n.next,o)&&e.EarCut.locallyInside(r,o)&&e.EarCut.locallyInside(o,r)&&(i.push(r.i/s),i.push(n.i/s),i.push(o.i/s),e.EarCut.removeNode(n),e.EarCut.removeNode(n.next),n=t=o),n=n.next}while(n!==t);return n},e.EarCut.splitEarcut=function(t,i,s,n,r,o){var a=t;do{for(var h=a.next.next;h!==a.prev;){if(a.i!==h.i&&e.EarCut.isValidDiagonal(a,h)){var l=e.EarCut.splitPolygon(a,h);return a=e.EarCut.filterPoints(a,a.next),l=e.EarCut.filterPoints(l,l.next),e.EarCut.earcutLinked(a,i,s,n,r,o),void e.EarCut.earcutLinked(l,i,s,n,r,o)}h=h.next}a=a.next}while(a!==t)},e.EarCut.eliminateHoles=function(t,i,s,n){var r,o,a,h,l,c=[];for(r=0,o=i.length;r=n.next.y){var h=n.x+(o-n.y)*(n.next.x-n.x)/(n.next.y-n.y);h<=r&&h>a&&(a=h,s=n.x=n.x&&n.x>=s.x&&e.EarCut.pointInTriangle(os.x)&&e.EarCut.locallyInside(n,t)&&(s=n,u=l),n=n.next;return s},e.EarCut.indexCurve=function(t,i,s,n){var r=t;do{null===r.z&&(r.z=e.EarCut.zOrder(r.x,r.y,i,s,n)),r.prevZ=r.prev,r.nextZ=r.next,r=r.next}while(r!==t);r.prevZ.nextZ=null,r.prevZ=null,e.EarCut.sortLinked(r)},e.EarCut.sortLinked=function(t){var e,i,s,n,r,o,a,h,l=1;do{for(i=t,t=null,r=null,o=0;i;){for(o++,s=i,a=0,e=0;e0||h>0&&s;)0===a?(n=s,s=s.nextZ,h--):0!==h&&s?i.z<=s.z?(n=i,i=i.nextZ,a--):(n=s,s=s.nextZ,h--):(n=i,i=i.nextZ,a--),r?r.nextZ=n:t=n,n.prevZ=r,r=n;i=s}r.nextZ=null,l*=2}while(o>1);return t},e.EarCut.zOrder=function(t,e,i,s,n){return t=32767*(t-i)/n,e=32767*(e-s)/n,t=16711935&(t|t<<8),t=252645135&(t|t<<4),t=858993459&(t|t<<2),t=1431655765&(t|t<<1),e=16711935&(e|e<<8),e=252645135&(e|e<<4),e=858993459&(e|e<<2),e=1431655765&(e|e<<1),t|e<<1},e.EarCut.getLeftmost=function(t){var e=t,i=t;do{e.x=0&&(t-o)*(s-a)-(i-o)*(e-a)>=0&&(i-o)*(r-a)-(n-o)*(s-a)>=0},e.EarCut.isValidDiagonal=function(t,i){return e.EarCut.equals(t,i)||t.next.i!==i.i&&t.prev.i!==i.i&&!e.EarCut.intersectsPolygon(t,i)&&e.EarCut.locallyInside(t,i)&&e.EarCut.locallyInside(i,t)&&e.EarCut.middleInside(t,i)},e.EarCut.area=function(t,e,i){return(e.y-t.y)*(i.x-e.x)-(e.x-t.x)*(i.y-e.y)},e.EarCut.equals=function(t,e){return t.x===e.x&&t.y===e.y},e.EarCut.intersects=function(t,i,s,n){return e.EarCut.area(t,i,s)>0!=e.EarCut.area(t,i,n)>0&&e.EarCut.area(s,n,t)>0!=e.EarCut.area(s,n,i)>0},e.EarCut.intersectsPolygon=function(t,i){var s=t;do{if(s.i!==t.i&&s.next.i!==t.i&&s.i!==i.i&&s.next.i!==i.i&&e.EarCut.intersects(s,s.next,t,i))return!0;s=s.next}while(s!==t);return!1},e.EarCut.locallyInside=function(t,i){return e.EarCut.area(t.prev,t,t.next)<0?e.EarCut.area(t,i,t.next)>=0&&e.EarCut.area(t,t.prev,i)>=0:e.EarCut.area(t,i,t.prev)<0||e.EarCut.area(t,t.next,i)<0},e.EarCut.middleInside=function(t,e){var i=t,s=!1,n=(t.x+e.x)/2,r=(t.y+e.y)/2;do{i.y>r!=i.next.y>r&&n<(i.next.x-i.x)*(r-i.y)/(i.next.y-i.y)+i.x&&(s=!s),i=i.next}while(i!==t);return s},e.EarCut.splitPolygon=function(t,i){var s=new e.EarCut.Node(t.i,t.x,t.y),n=new e.EarCut.Node(i.i,i.x,i.y),r=t.next,o=i.prev;return t.next=i,i.prev=t,s.next=r,r.prev=s,n.next=s,s.prev=n,o.next=n,n.prev=o,n},e.EarCut.insertNode=function(t,i,s,n){var r=new e.EarCut.Node(t,i,s);return n?(r.next=n.next,r.prev=n,n.next.prev=r,n.next=r):(r.prev=r,r.next=r),r},e.EarCut.removeNode=function(t){t.next.prev=t.prev,t.prev.next=t.next,t.prevZ&&(t.prevZ.nextZ=t.nextZ),t.nextZ&&(t.nextZ.prevZ=t.prevZ)},e.EarCut.Node=function(t,e,i){this.i=t,this.x=e,this.y=i,this.prev=null,this.next=null,this.z=null,this.prevZ=null,this.nextZ=null,this.steiner=!1},PIXI.WebGLGraphics=function(){},PIXI.WebGLGraphics.stencilBufferLimit=6,PIXI.WebGLGraphics.renderGraphics=function(t,i){var s,n=i.gl,r=i.projection,o=i.offset,a=i.shaderManager.primitiveShader;t.dirty&&PIXI.WebGLGraphics.updateGraphics(t,n);var h=t._webGL[n.id];if(h)for(var l=0;l=PIXI.WebGLGraphics.stencilBufferLimit&&(a.points.length<2*PIXI.WebGLGraphics.stencilBufferLimit?(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildPoly(a,o)||(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,1),PIXI.WebGLGraphics.buildComplexPoly(a,o))),a.lineWidth>0&&(o=PIXI.WebGLGraphics.switchMode(s,0),PIXI.WebGLGraphics.buildLine(a,o))):(o=PIXI.WebGLGraphics.switchMode(s,0),a.type===e.RECTANGLE?PIXI.WebGLGraphics.buildRectangle(a,o):a.type===e.CIRCLE||a.type===e.ELLIPSE?PIXI.WebGLGraphics.buildCircle(a,o):a.type===e.ROUNDEDRECTANGLE&&PIXI.WebGLGraphics.buildRoundedRectangle(a,o)),s.lastIndex++}for(n=0;n19600?(_=y-x,w=v-b,_/=R=Math.sqrt(_*_+w*w),w/=R,_*=F,w*=F,L.push(p-_,f-w),L.push(G,N,X,U),L.push(p+_,f+w),L.push(G,N,X,U),L.push(p-_,f-w),L.push(G,N,X,U),O++):(L.push(l,c),L.push(G,N,X,U),L.push(p-(l-p),f-(c-f)),L.push(G,N,X,U));for(u=n[2*(I-2)],d=n[2*(I-2)+1],p=n[2*(I-1)],y=-(d-(f=n[2*(I-1)+1])),v=u-p,y/=R=Math.sqrt(y*y+v*v),v/=R,y*=F,v*=F,L.push(p-y,f-v),L.push(G,N,X,U),L.push(p+y,f+v),L.push(G,N,X,U),B.push(k),s=0;sh?r:h,l=oc?o:c;s.push(a,l,h,l,h,c,a,c);var d=s.length/2;for(u=0;uS?S:C,i.beginPath(),i.moveTo(_,w+C),i.lineTo(_,w+P-C),i.quadraticCurveTo(_,w+P,_+C,w+P),i.lineTo(_+T-C,w+P),i.quadraticCurveTo(_+T,w+P,_+T,w+P-C),i.lineTo(_+T,w+C),i.quadraticCurveTo(_+T,w,_+T-C,w),i.lineTo(_+C,w),i.quadraticCurveTo(_,w,_,w+C),i.closePath(),(r.fillColor||0===r.fillColor)&&(i.globalAlpha=r.fillAlpha*s,i.fillStyle="#"+("00000"+(0|a).toString(16)).substr(-6),i.fill()),r.lineWidth&&(i.globalAlpha=r.lineAlpha*s,i.strokeStyle="#"+("00000"+(0|h).toString(16)).substr(-6),i.stroke())}}},PIXI.CanvasGraphics.renderGraphicsMask=function(t,i){var s=t.graphicsData.length;if(0!==s){i.beginPath();for(var n=0;nP?P:T,i.moveTo(x,b+T),i.lineTo(x,b+w-T),i.quadraticCurveTo(x,b+w,x+T,b+w),i.lineTo(x+_-T,b+w),i.quadraticCurveTo(x+_,b+w,x+_,b+w-T),i.lineTo(x+_,b+T),i.quadraticCurveTo(x+_,b,x+_-T,b),i.lineTo(x+T,b),i.quadraticCurveTo(x,b,x,b+T),i.closePath()}}}},PIXI.CanvasGraphics.updateGraphicsTint=function(t){if(16777215!==t.tint)for(var e=(t.tint>>16&255)/255,i=(t.tint>>8&255)/255,s=(255&t.tint)/255,n=0;n>16&255)/255*e*255<<16)+((o>>8&255)/255*i*255<<8)+(255&o)/255*s*255,r._lineTint=((a>>16&255)/255*e*255<<16)+((a>>8&255)/255*i*255<<8)+(255&a)/255*s*255}},e.GraphicsData=function(t,e,i,s,n,r,o){this.lineWidth=t,this.lineColor=e,this.lineAlpha=i,this._lineTint=e,this.fillColor=s,this.fillAlpha=n,this._fillTint=s,this.fill=r,this.shape=o,this.type=o.type},e.GraphicsData.prototype.constructor=e.GraphicsData,e.GraphicsData.prototype.clone=function(){return new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.fill,this.shape)},e.Graphics=function(t,i,s){void 0===i&&(i=0),void 0===s&&(s=0),this.type=e.GRAPHICS,this.physicsType=e.SPRITE,this.anchor=new e.Point,PIXI.DisplayObjectContainer.call(this),this.renderable=!0,this.fillAlpha=1,this.lineWidth=0,this.lineColor=0,this.graphicsData=[],this.tint=16777215,this.blendMode=PIXI.blendModes.NORMAL,this.currentPath=null,this._webGL=[],this.isMask=!1,this.boundsPadding=0,this._localBounds=new e.Rectangle(0,0,1,1),this.dirty=!0,this._boundsDirty=!1,this.webGLDirty=!1,this.cachedSpriteDirty=!1,e.Component.Core.init.call(this,t,i,s,"",null)},e.Graphics.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Graphics.prototype.constructor=e.Graphics,e.Component.Core.install.call(e.Graphics.prototype,["Angle","AutoCull","Bounds","Destroy","FixedToCamera","InputEnabled","InWorld","LifeSpan","PhysicsBody","Reset"]),e.Graphics.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Graphics.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Graphics.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Graphics.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Graphics.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Graphics.prototype.postUpdate=function(){e.Component.PhysicsBody.postUpdate.call(this),e.Component.FixedToCamera.postUpdate.call(this),this._boundsDirty&&(this.updateLocalBounds(),this._boundsDirty=!1);for(var t=0;t0&&this.drawPolygon(s)}else this.drawPolygon(s)},e.Graphics.prototype.drawTriangles=function(t,i,s){void 0===s&&(s=!1);var n,r=new e.Point,o=new e.Point,a=new e.Point,h=[];if(i)if(t[0]instanceof e.Point)for(n=0;nc*a)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.arc=function(t,e,i,s,n,r,o){if(s===n)return this;void 0===r&&(r=!1),void 0===o&&(o=40),!r&&n<=s?n+=2*Math.PI:r&&s<=n&&(s+=2*Math.PI);var a=r?-1*(s-n):n-s,h=Math.ceil(Math.abs(a)/(2*Math.PI))*o;if(0===a)return this;var l=t+Math.cos(s)*i,c=e+Math.sin(s)*i;r&&this.filling?this.moveTo(t,e):this.moveTo(l,c);for(var u=this.currentPath.shape.points,d=a/(2*h),p=2*d,f=Math.cos(d),g=Math.sin(d),m=h-1,y=m%1/m,v=0;v<=m;v++){var x=d+s+p*(v+y*v),b=Math.cos(x),_=-Math.sin(x);u.push((f*b+g*_)*i+t,(f*-_+g*b)*i+e)}return this.dirty=!0,this._boundsDirty=!0,this},e.Graphics.prototype.beginFill=function(t,e){return this.filling=!0,this.fillColor=t||0,this.fillAlpha=void 0===e?1:e,this.currentPath&&this.currentPath.shape.points.length<=2&&(this.currentPath.fill=this.filling,this.currentPath.fillColor=this.fillColor,this.currentPath.fillAlpha=this.fillAlpha),this},e.Graphics.prototype.endFill=function(){return this.filling=!1,this.fillColor=null,this.fillAlpha=1,this},e.Graphics.prototype.drawRect=function(t,i,s,n){return this.drawShape(new e.Rectangle(t,i,s,n)),this},e.Graphics.prototype.drawRoundedRect=function(t,i,s,n,r){return this.drawShape(new e.RoundedRectangle(t,i,s,n,r)),this},e.Graphics.prototype.drawCircle=function(t,i,s){return this.drawShape(new e.Circle(t,i,s)),this},e.Graphics.prototype.drawEllipse=function(t,i,s,n){return this.drawShape({x:t,y:i,width:s,height:n,type:e.ELLIPSE}),this},e.Graphics.prototype.drawPolygon=function(t){t instanceof e.Polygon&&(t=t.points);var i=t;if(!Array.isArray(i)){i=new Array(arguments.length);for(var s=0;sw?m:w,w=v>w?v:w,w=b>w?b:w,T=y>T?y:T,T=x>T?x:T,T=_>T?_:T,this._bounds.x=P,this._bounds.width=w-P,this._bounds.y=C,this._bounds.height=T-C,this._currentBounds=this._bounds,this._currentBounds},e.Graphics.prototype.getLocalBounds=function(){var t=this.worldTransform;this.worldTransform=e.identityMatrix;for(var i=0;ii?a+l:i,s=hn?h+c:n;else if(p===e.CIRCLE)a=r.x,h=r.y,l=r.radius+f/2,c=r.radius+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else if(p===e.ELLIPSE)a=r.x,h=r.y,l=r.width+f/2,c=r.height+f/2,t=a-li?a+l:i,s=h-cn?h+c:n;else{o=r.points;for(var g=0;gi?a+f:i,s=h-fn?h+f:n}}else t=0,i=0,s=0,n=0;var m=this.boundsPadding;this._localBounds.x=t-m,this._localBounds.width=i-t+2*m,this._localBounds.y=s-m,this._localBounds.height=n-s+2*m},e.Graphics.prototype._generateCachedSprite=function(){var t=this.getLocalBounds();if(this._cachedSprite)this._cachedSprite.buffer.resize(t.width,t.height);else{var e=new PIXI.CanvasBuffer(t.width,t.height),i=PIXI.Texture.fromCanvas(e.canvas);this._cachedSprite=new PIXI.Sprite(i),this._cachedSprite.buffer=e,this._cachedSprite.worldTransform=this.worldTransform}this._cachedSprite.anchor.x=-t.x/t.width,this._cachedSprite.anchor.y=-t.y/t.height,this._cachedSprite.buffer.context.translate(-t.x,-t.y),this.worldAlpha=1,PIXI.CanvasGraphics.renderGraphics(this,this._cachedSprite.buffer.context),this._cachedSprite.alpha=this.alpha},e.Graphics.prototype.updateCachedSpriteTexture=function(){var t=this._cachedSprite,e=t.texture,i=t.buffer.canvas;e.baseTexture.width=i.width,e.baseTexture.height=i.height,e.crop.width=e.frame.width=i.width,e.crop.height=e.frame.height=i.height,t._width=i.width,t._height=i.height,e.baseTexture.dirty()},e.Graphics.prototype.destroyCachedSprite=function(){this._cachedSprite.texture.destroy(!0),this._cachedSprite=null},e.Graphics.prototype.drawShape=function(t){this.currentPath&&this.currentPath.shape.points.length<=2&&this.graphicsData.pop(),this.currentPath=null,t instanceof e.Polygon&&(t=t.clone()).flatten();var i=new e.GraphicsData(this.lineWidth,this.lineColor,this.lineAlpha,this.fillColor,this.fillAlpha,this.filling,t);return this.graphicsData.push(i),i.type===e.POLYGON&&(i.shape.closed=this.filling,this.currentPath=i),this.dirty=!0,this._boundsDirty=!0,i},Object.defineProperty(e.Graphics.prototype,"cacheAsBitmap",{get:function(){return this._cacheAsBitmap},set:function(t){this._cacheAsBitmap=t,this._cacheAsBitmap?this._generateCachedSprite():this.destroyCachedSprite(),this.dirty=!0,this.webGLDirty=!0}}),e.RenderTexture=function(t,i,s,n,r,o,a,h){if(void 0===i&&(i=100),void 0===s&&(s=100),void 0===n&&(n=""),void 0===r&&(r=e.scaleModes.DEFAULT),void 0===o&&(o=1),void 0===a&&(a=PIXI.defaultRenderer),void 0===h&&(h=0),this.game=t,this.key=n,this.type=e.RENDERTEXTURE,this._tempMatrix=new e.Matrix,this.width=i,this.height=s,this.resolution=o,this.frame=new e.Rectangle(0,0,this.width*this.resolution,this.height*this.resolution),this.crop=this.frame.clone(),this.baseTexture=new PIXI.BaseTexture,this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution,this.baseTexture._glTextures=[],this.baseTexture.resolution=this.resolution,this.baseTexture.scaleMode=r,this.baseTexture.hasLoaded=!0,PIXI.Texture.call(this,this.baseTexture,this.frame.clone()),this.renderer=a,this.renderer.type===e.WEBGL){var l=this.renderer.gl;this.baseTexture.textureIndex=h,this.baseTexture._dirty[l.id]=!1,this.textureBuffer=new PIXI.FilterTexture(l,this.width,this.height,this.baseTexture.scaleMode,h),this.baseTexture._glTextures[l.id]=this.textureBuffer.texture,this.projection=new e.Point(.5*this.width,.5*-this.height)}else this.textureBuffer=new PIXI.CanvasBuffer(this.width*this.resolution,this.height*this.resolution),this.baseTexture.source=this.textureBuffer.canvas;this.valid=!0,this.tempMatrix=new e.Matrix,this._updateUvs()},e.RenderTexture.prototype=Object.create(PIXI.Texture.prototype),e.RenderTexture.prototype.constructor=e.RenderTexture,e.RenderTexture.prototype.renderXY=function(t,i,s,n){t.updateTransform(),this._tempMatrix.copyFrom(t.worldTransform),this._tempMatrix.tx=i,this._tempMatrix.ty=s,this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.renderRawXY=function(t,i,s,n){this._tempMatrix.identity().translate(i,s),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,n):this._renderCanvas(t,this._tempMatrix,n)},e.RenderTexture.prototype.render=function(t,i,s){void 0===i||null===i?this._tempMatrix.copyFrom(t.worldTransform):this._tempMatrix.copyFrom(i),this.renderer.type===e.WEBGL?this._renderWebGL(t,this._tempMatrix,s):this._renderCanvas(t,this._tempMatrix,s)},e.RenderTexture.prototype.resize=function(t,i,s){t===this.width&&i===this.height||(this.valid=t>0&&i>0,this.width=t,this.height=i,this.frame.width=this.crop.width=t*this.resolution,this.frame.height=this.crop.height=i*this.resolution,s&&(this.baseTexture.width=this.width*this.resolution,this.baseTexture.height=this.height*this.resolution),this.renderer.type===e.WEBGL&&(this.projection.x=this.width/2,this.projection.y=-this.height/2),this.valid&&this.textureBuffer.resize(this.width,this.height))},e.RenderTexture.prototype.clear=function(){this.valid&&(this.renderer.type===e.WEBGL&&this.renderer.gl.bindFramebuffer(this.renderer.gl.FRAMEBUFFER,this.textureBuffer.frameBuffer),this.textureBuffer.clear())},e.RenderTexture.prototype._renderWebGL=function(t,e,i){if(this.valid&&0!==t.alpha){var s=t.worldTransform;s.identity(),s.translate(0,2*this.projection.y),e&&s.append(e),s.scale(1,-1);for(var n=0;n-1&&this.characterLimitSize0&&this.style.maxLines0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(e[a]):l+=this.context.measureText(e[a]).width,this.style.wordWrap&&(l-=this.context.measureText(" ").width)}else{var h=e[a].split(/(?:\t)/),l=this.padding.x+this.style.strokeThickness;if(Array.isArray(i))for(var c=0,u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.measureLine(h[u]):Math.ceil(this.context.measureText(h[u]).width),u>0&&(c+=i[u-1]),l=c+d}else for(u=0;u0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?l+=this.measureLine(h[u]):l+=Math.ceil(this.context.measureText(h[u]).width),l+=this.game.math.snapToCeil(l,i)-l}s[a]=Math.ceil(l),n=Math.max(n,s[a])}this.canvas.width=n*this._res;var p=r.fontSize+this.style.strokeThickness+this.padding.y,f=p*o,g=this._lineSpacing;g<0&&Math.abs(g)>p&&(g=-p),0!==g&&(f+=g>0?g*e.length:g*(e.length-1)),this.canvas.height=f*this._res,this.context.scale(this._res,this._res),navigator.isCocoonJS&&this.context.clearRect(0,0,this.canvas.width,this.canvas.height),this.style.backgroundColor&&(this.context.fillStyle=this.style.backgroundColor,this.context.fillRect(0,0,this.canvas.width,this.canvas.height)),this.context.fillStyle=this.style.fill,this.context.font=this.style.font,this.context.strokeStyle=this.style.stroke,this.context.textBaseline="alphabetic",this.context.lineWidth=this.style.strokeThickness,this.context.lineCap="round",this.context.lineJoin="round";var m,y;for(this._charCount=0,a=0;a0&&(y+=g*a),"right"===this.style.align?m+=n-s[a]:"center"===this.style.align&&(m+=(n-s[a])/2),this.autoRound&&(m=Math.round(m),y=Math.round(y)),this.colors.length>0||this.strokeColors.length>0||this.fontWeights.length>0||this.fontStyles.length>0?this.updateLine(e[a],m,y):(this.style.stroke&&this.style.strokeThickness&&(this.updateShadow(this.style.shadowStroke),0===i?this.context.strokeText(e[a],m,y):this.renderTabLine(e[a],m,y,!1)),this.style.fill&&(this.updateShadow(this.style.shadowFill),0===i?this.context.fillText(e[a],m,y):this.renderTabLine(e[a],m,y,!0)));this.updateTexture(),this.dirty=!1},e.Text.prototype.renderTabLine=function(t,e,i,s){var n=t.split(/(?:\t)/),r=this.style.tabs,o=0;if(Array.isArray(r))for(var a=0,h=0;h0&&(a+=r[h-1]),o=e+a,s?this.context.fillText(n[h],o,i):this.context.strokeText(n[h],o,i);else for(h=0;h0||this.fontStyles.length>0){var n=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(n.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(n.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(n)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill)),e+=this.context.measureText(s).width,this._charCount++}return Math.ceil(e)},e.Text.prototype.updateLine=function(t,e,i){for(var s=0;s0||this.fontStyles.length>0){var r=this.fontToComponents(this.context.font);this.fontStyles[this._charCount]&&(r.fontStyle=this.fontStyles[this._charCount]),this.fontWeights[this._charCount]&&(r.fontWeight=this.fontWeights[this._charCount]),this.context.font=this.componentsToFont(r)}this.style.stroke&&this.style.strokeThickness&&(this.strokeColors[this._charCount]&&(this.context.strokeStyle=this.strokeColors[this._charCount]),this.updateShadow(this.style.shadowStroke),this.context.strokeText(n,e,i)),this.style.fill&&(this.colors[this._charCount]&&(this.context.fillStyle=this.colors[this._charCount]),this.updateShadow(this.style.shadowFill),this.context.fillText(n,e,i)),e+=this.context.measureText(n).width,this._charCount++}},e.Text.prototype.clearColors=function(){return this.colors=[],this.strokeColors=[],this.dirty=!0,this},e.Text.prototype.clearFontValues=function(){return this.fontStyles=[],this.fontWeights=[],this.dirty=!0,this},e.Text.prototype.addColor=function(t,e){return this.colors[e]=t,this.dirty=!0,this},e.Text.prototype.addStrokeColor=function(t,e){return this.strokeColors[e]=t,this.dirty=!0,this},e.Text.prototype.addFontStyle=function(t,e){return this.fontStyles[e]=t,this.dirty=!0,this},e.Text.prototype.addFontWeight=function(t,e){return this.fontWeights[e]=t,this.dirty=!0,this},e.Text.prototype.precalculateWordWrap=function(t){return this.texture.baseTexture.resolution=this._res,this.context.font=this.style.font,this.runWordWrap(t).split(/(?:\r\n|\r|\n)/)},e.Text.prototype.runWordWrap=function(t){return this.useAdvancedWrap?this.advancedWordWrap(t):this.basicWordWrap(t)},e.Text.prototype.advancedWordWrap=function(t){for(var e=this.context,i=this.style.wordWrapWidth,s="",n=t.replace(/ +/gi," ").split(/\r?\n/gi),r=n.length,o=0;ol){if(0===u){for(var g=p;g.length&&(g=g.slice(0,-1),!((f=e.measureText(g).width)<=l)););if(!g.length)throw new Error("This text's wordWrapWidth setting is less than a single character!");var m=d.substr(g.length);c[u]=m,h+=g}var y=c[u].length?u:u+1,v=c.slice(y).join(" ").replace(/[ \n]*$/gi,"");n[o+1]=v+" "+(n[o+1]||""),r=n.length;break}h+=p,l-=f}s+=h.replace(/[ \n]*$/gi,"")+"\n"}}return s=s.replace(/[\s|\n]*$/gi,"")},e.Text.prototype.basicWordWrap=function(t){for(var e="",i=t.split("\n"),s=0;sn?(o>0&&(e+="\n"),e+=r[o]+" ",n=this.style.wordWrapWidth-a):(n-=h,e+=r[o]+" ")}ss&&(this.style.wordWrapWidth=s)),this.updateTexture(),this},e.Text.prototype.updateTexture=function(){var t=this.texture.baseTexture,e=this.texture.crop,i=this.texture.frame,s=this.canvas.width,n=this.canvas.height;if(t.width=s,t.height=n,e.width=s,e.height=n,i.width=s,i.height=n,this.texture.width=s,this.texture.height=n,this._width=s,this._height=n,this.textBounds){var r=this.textBounds.x,o=this.textBounds.y;"right"===this.style.boundsAlignH?r+=this.textBounds.width-this.canvas.width/this.resolution:"center"===this.style.boundsAlignH&&(r+=this.textBounds.halfWidth-this.canvas.width/this.resolution/2),"bottom"===this.style.boundsAlignV?o+=this.textBounds.height-this.canvas.height/this.resolution:"middle"===this.style.boundsAlignV&&(o+=this.textBounds.halfHeight-this.canvas.height/this.resolution/2),this.pivot.x=-r,this.pivot.y=-o}this.renderable=0!==s&&0!==n,this.texture.requiresReTint=!0,this.texture.baseTexture.dirty()},e.Text.prototype._renderWebGL=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.Text.prototype._renderCanvas=function(t){this.dirty&&(this.updateText(),this.dirty=!1),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.Text.prototype.determineFontProperties=function(t){var i=e.Text.fontPropertiesCache[t],s=this.testString||"|MÉq";if(!i){i={};var n=e.Text.fontPropertiesCanvas,r=e.Text.fontPropertiesContext;r.font=t;var o=Math.ceil(r.measureText(s).width),a=Math.ceil(r.measureText(s).width),h=2*a;if(a=1.4*a|0,n.width=o,n.height=h,r.fillStyle="#f00",r.fillRect(0,0,o,h),r.font=t,r.textBaseline="alphabetic",r.fillStyle="#000",r.fillText(s,0,a),!r.getImageData(0,0,o,h))return i.ascent=a,i.descent=a+6,i.fontSize=i.ascent+i.descent,e.Text.fontPropertiesCache[t]=i,i;var l,c,u=r.getImageData(0,0,o,h).data,d=u.length,p=4*o,f=0,g=!1;for(l=0;la;l--){for(c=0;c0?this._maxWidth:null,l=[],c=0;c=h&&r>-1)return{width:o||n,text:i.substr(0,c-(c-r)),end:!1,chars:l};n+=(p.xAdvance+g+this.letterSpacing)*e,l.push(s+(p.xOffset+g+this.letterSpacing)*e),s+=(p.xAdvance+g+this.letterSpacing)*e,a=d}return{width:n,text:i,end:u,chars:l}},e.BitmapText.prototype.cleanText=function(t,e){void 0===e&&(e="");var i=this._data.font;if(!i)return"";for(var s=/\r\n|\n\r|\n|\r/g,n=t.replace(s,"\n").split("\n"),r=0;rthis.textWidth&&(this.textWidth=c.width),n+=t.lineHeight*i,e=e.substr(c.text.length+1)}while(!1===c.end);this.textHeight=n;for(var r=0,o=0,a=this.textWidth*this.anchor.x,h=this.textHeight*this.anchor.y,l=0;l0&&(this._fontSize=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"text",{get:function(){return this._text},set:function(t){t!==this._text&&(this._text=t.toString()||"",this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"maxWidth",{get:function(){return this._maxWidth},set:function(t){t!==this._maxWidth&&(this._maxWidth=t,this.updateText())}}),Object.defineProperty(e.BitmapText.prototype,"smoothed",{get:function(){return!this._data.base.scaleMode},set:function(t){this._data.base.scaleMode=t?0:1,this._data.base.dirty()}}),e.RetroFont=function(t,i,s,n,r,o,a,h,l,c){if(!t.cache.checkImageKey(i))return!1;void 0!==o&&null!==o||(o=t.cache.getImage(i).width/s),this.characterWidth=s,this.characterHeight=n,this.characterSpacingX=a||0,this.characterSpacingY=h||0,this.characterPerRow=o,this.offsetX=l||0,this.offsetY=c||0,this.align="left",this.multiLine=!1,this.autoUpperCase=!0,this.customSpacingX=0,this.customSpacingY=0,this.fixedWidth=0,this.fontSet=t.cache.getImage(i),this._text="",this.grabData=[],this.frameData=new e.FrameData;for(var u=this.offsetX,d=this.offsetY,p=0,f=0;f?@ABCDEFGHIJKLMNOPQRSTUVWXYZ[\\]^_`abcdefghijklmnopqrstuvwxyz{|}~",e.RetroFont.TEXT_SET2=" !\"#$%&'()*+,-./0123456789:;<=>?@ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET3="ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789 ",e.RetroFont.TEXT_SET4="ABCDEFGHIJKLMNOPQRSTUVWXYZ 0123456789",e.RetroFont.TEXT_SET5="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,/() '!?-*:0123456789",e.RetroFont.TEXT_SET6="ABCDEFGHIJKLMNOPQRSTUVWXYZ!?:;0123456789\"(),-.' ",e.RetroFont.TEXT_SET7="AGMSY+:4BHNTZ!;5CIOU.?06DJPV,(17EKQW\")28FLRX-'39",e.RetroFont.TEXT_SET8="0123456789 .ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET9="ABCDEFGHIJKLMNOPQRSTUVWXYZ()-0123456789.:,'\"?!",e.RetroFont.TEXT_SET10="ABCDEFGHIJKLMNOPQRSTUVWXYZ",e.RetroFont.TEXT_SET11="ABCDEFGHIJKLMNOPQRSTUVWXYZ.,\"-+!?()':;0123456789",e.RetroFont.prototype.setFixedWidth=function(t,e){void 0===e&&(e="left"),this.fixedWidth=t,this.align=e},e.RetroFont.prototype.setText=function(t,e,i,s,n,r){this.multiLine=e||!1,this.customSpacingX=i||0,this.customSpacingY=s||0,this.align=n||"left",this.autoUpperCase=!r,t.length>0&&(this.text=t)},e.RetroFont.prototype.buildRetroFontText=function(){var t=0,i=0;if(this.clear(),this.multiLine){var s=this._text.split("\n");this.fixedWidth>0?this.resize(this.fixedWidth,s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0):this.resize(this.getLongestLine()*(this.characterWidth+this.customSpacingX),s.length*(this.characterHeight+this.customSpacingY)-this.customSpacingY,!0);for(var n=0;n0?this.resize(this.fixedWidth,this.characterHeight,!0):this.resize(this._text.length*(this.characterWidth+this.customSpacingX),this.characterHeight,!0),t=0,this.align===e.RetroFont.ALIGN_RIGHT?t=this.width-this._text.length*(this.characterWidth+this.customSpacingX):this.align===e.RetroFont.ALIGN_CENTER&&(t=this.width/2-this._text.length*(this.characterWidth+this.customSpacingX)/2,t+=this.customSpacingX/2),t<0&&(t=0),this.pasteLine(this._text,t,0,this.customSpacingX);this.requiresReTint=!0},e.RetroFont.prototype.pasteLine=function(t,e,i,s){for(var n=0;n=0&&(this.stamp.frame=this.grabData[t.charCodeAt(n)],this.renderXY(this.stamp,e,i,!1),(e+=this.characterWidth+s)>this.width))break},e.RetroFont.prototype.getLongestLine=function(){var t=0;if(this._text.length>0)for(var e=this._text.split("\n"),i=0;it&&(t=e[i].length);return t},e.RetroFont.prototype.removeUnsupportedCharacters=function(t){for(var e="",i=0;i=0||!t&&"\n"===s)&&(e=e.concat(s))}return e},e.RetroFont.prototype.updateOffset=function(t,e){if(this.offsetX!==t||this.offsetY!==e){for(var i=t-this.offsetX,s=e-this.offsetY,n=this.game.cache.getFrameData(this.stamp.key).getFrames(),r=n.length;r--;)n[r].x+=i,n[r].y+=s;this.buildRetroFontText()}},Object.defineProperty(e.RetroFont.prototype,"text",{get:function(){return this._text},set:function(t){var e;(e=this.autoUpperCase?t.toUpperCase():t)!==this._text&&(this._text=e,this.removeUnsupportedCharacters(this.multiLine),this.buildRetroFontText())}}),Object.defineProperty(e.RetroFont.prototype,"smoothed",{get:function(){return this.stamp.smoothed},set:function(t){this.stamp.smoothed=t,this.buildRetroFontText()}}),e.Rope=function(t,i,s,n,r,o){this.points=o||[],this._hasUpdateAnimation=!1,this._updateAnimationCallback=null,i=i||0,s=s||0,n=n||null,r=r||null,this.type=e.ROPE,PIXI.DisplayObjectContainer.call(this),this.texture=e.Cache.DEFAULT,this.uvs=new Float32Array([0,1,1,1,1,0,0,1]),this.vertices=new Float32Array([0,0,100,0,100,100,0,100]),this.colors=new Float32Array([1,1,1,1]),this.indices=new Uint16Array([0,1,2,3]),o&&(this.vertices=new Float32Array(4*o.length),this.uvs=new Float32Array(4*o.length),this.colors=new Float32Array(2*o.length),this.indices=new Uint16Array(2*o.length)),this.dirty=!0,this.canvasPadding=0,this.drawMode=e.Rope.TRIANGLE_STRIP,e.Component.Core.init.call(this,t,i,s,n,r),this.refresh()},e.Rope.prototype=Object.create(PIXI.DisplayObjectContainer.prototype),e.Rope.prototype.constructor=e.Rope,e.Component.Core.install.call(e.Rope.prototype,["Angle","Animation","AutoCull","Bounds","BringToTop","Crop","Delta","Destroy","FixedToCamera","InWorld","LifeSpan","LoadTexture","Overlap","PhysicsBody","Reset","ScaleMinMax","Smoothed"]),e.Rope.prototype.preUpdatePhysics=e.Component.PhysicsBody.preUpdate,e.Rope.prototype.preUpdateLifeSpan=e.Component.LifeSpan.preUpdate,e.Rope.prototype.preUpdateInWorld=e.Component.InWorld.preUpdate,e.Rope.prototype.preUpdateCore=e.Component.Core.preUpdate,e.Rope.TRIANGLE_STRIP=0,e.Rope.TRIANGLES=1,e.Rope.prototype.preUpdate=function(){return!!(this.preUpdatePhysics()&&this.preUpdateLifeSpan()&&this.preUpdateInWorld())&&this.preUpdateCore()},e.Rope.prototype.update=function(){this._hasUpdateAnimation&&this.updateAnimation.call(this)},e.Rope.prototype.reset=function(t,i){return e.Component.Reset.prototype.reset.call(this,t,i),this},e.Rope.prototype.refresh=function(){var t=this.points;if(!(t.length<1)){var e=this.uvs,i=this.indices,s=this.colors;this.count-=.2;for(var n=t.length,r=0,o=0,a=0;a0){var _=this.canvasPadding/this.worldTransform.a,w=this.canvasPadding/this.worldTransform.d,T=(l+c+u)/3,P=(d+p+f)/3,C=l-T,S=d-P,A=Math.sqrt(C*C+S*S);l=T+C/A*(A+_),d=P+S/A*(A+w),S=p-P,c=T+(C=c-T)/(A=Math.sqrt(C*C+S*S))*(A+_),p=P+S/A*(A+w),S=f-P,u=T+(C=u-T)/(A=Math.sqrt(C*C+S*S))*(A+_),f=P+S/A*(A+w)}t.save(),t.beginPath(),t.moveTo(l,d),t.lineTo(c,p),t.lineTo(u,f),t.closePath(),t.clip();var E=g*x+v*y+m*b-x*y-v*m-g*b,M=l*x+v*u+c*b-x*u-v*c-l*b,R=g*c+l*y+m*u-c*y-l*m-g*u,L=g*x*u+v*c*y+l*m*b-l*x*y-v*m*u-g*c*b,B=d*x+v*f+p*b-x*f-v*p-d*b,I=g*p+d*y+m*f-p*y-d*m-g*f,O=g*x*f+v*p*y+d*m*b-d*x*y-v*m*f-g*p*b;t.transform(M/E,B/E,R/E,I/E,L/E,O/E),t.drawImage(o,0,0),t.restore()},e.Rope.prototype.renderStripFlat=function(t){var e=this.context,i=t.vertices,s=i.length/2;this.count++,e.beginPath();for(var n=1;nl?y:l,c=v>c?v:c}if(u===-1/0||c===1/0)return e.EmptyRectangle;var x=this._bounds;return x.x=u,x.width=l-u,x.y=d,x.height=c-d,this._currentBounds=x,x},Object.defineProperty(e.Rope.prototype,"updateAnimation",{get:function(){return this._updateAnimation},set:function(t){t&&"function"==typeof t?(this._hasUpdateAnimation=!0,this._updateAnimation=t):(this._hasUpdateAnimation=!1,this._updateAnimation=null)}}),Object.defineProperty(e.Rope.prototype,"segments",{get:function(){for(var t,i,s,n,r,o,a,h,l=[],c=0;c(_=y>(_=g>(_=p>_?p:_)?g:_)?y:_)?x:_,w=b>(w=v>(w=m>(w=f>w?f:w)?m:w)?v:w)?b:w;var C=this._bounds;return C.x=T,C.width=_-T,C.y=P,C.height=w-P,this._currentBounds=C,C},Object.defineProperty(e.TileSprite.prototype,"width",{get:function(){return this._width},set:function(t){this._width=t}}),Object.defineProperty(e.TileSprite.prototype,"height",{get:function(){return this._height},set:function(t){this._height=t}}),e.CanvasPool={create:function(t,i,s){var n,r=e.CanvasPool.getFirst();if(-1===r){var o={parent:t,canvas:document.createElement("canvas")};e.CanvasPool.pool.push(o),n=o.canvas}else e.CanvasPool.pool[r].parent=t,n=e.CanvasPool.pool[r].canvas;return void 0!==i&&(n.width=i,n.height=s),n},getFirst:function(){for(var t=e.CanvasPool.pool,i=0;i=9&&/Mac OS X (\d+)_(\d+)/.test(navigator.userAgent)){var e=parseInt(RegExp.$1,10),i=parseInt(RegExp.$2,10);(10===e&&i>=11||e>10)&&(s.dolby=!0)}}catch(t){}}(),function(){var t=document.createElement("video");try{t.canPlayType&&(t.canPlayType('video/ogg; codecs="theora"').replace(/^no$/,"")&&(s.oggVideo=!0),t.canPlayType('video/mp4; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.h264Video=!0,s.mp4Video=!0),t.canPlayType('video/webm; codecs="vp8, vorbis"').replace(/^no$/,"")&&(s.webmVideo=!0),t.canPlayType('video/webm; codecs="vp9"').replace(/^no$/,"")&&(s.vp9Video=!0),t.canPlayType('application/x-mpegURL; codecs="avc1.42E01E"').replace(/^no$/,"")&&(s.hlsVideo=!0))}catch(t){}}(),function(){var t,e=document.createElement("p"),i={webkitTransform:"-webkit-transform",OTransform:"-o-transform",msTransform:"-ms-transform",MozTransform:"-moz-transform",transform:"transform"};document.body.insertBefore(e,null);for(var n in i)void 0!==e.style[n]&&(e.style[n]="translate3d(1px,1px,1px)",t=window.getComputedStyle(e).getPropertyValue(i[n]));document.body.removeChild(e),s.css3D=void 0!==t&&t.length>0&&"none"!==t}(),s.pixelRatio=window.devicePixelRatio||1,s.iPhone=-1!==navigator.userAgent.toLowerCase().indexOf("iphone"),s.iPhone4=2===s.pixelRatio&&s.iPhone,s.iPad=-1!==navigator.userAgent.toLowerCase().indexOf("ipad"),"undefined"!=typeof Int8Array?s.typedArray=!0:s.typedArray=!1,"undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8Array&&"undefined"!=typeof Uint32Array&&(s.littleEndian=t(),s.LITTLE_ENDIAN=s.littleEndian),s.support32bit="undefined"!=typeof ArrayBuffer&&"undefined"!=typeof Uint8ClampedArray&&"undefined"!=typeof Int32Array&&null!==s.littleEndian&&i(),navigator.vibrate=navigator.vibrate||navigator.webkitVibrate||navigator.mozVibrate||navigator.msVibrate,navigator.vibrate&&(s.vibration=!0),function(){s.canvas=!!window.CanvasRenderingContext2D||s.cocoonJS;try{s.localStorage=!!localStorage.getItem}catch(t){s.localStorage=!1}s.file=!!(window.File&&window.FileReader&&window.FileList&&window.Blob),s.fileSystem=!!window.requestFileSystem,s.webGL=!!window.WebGLRenderingContext,s.worker=!!window.Worker,s.pointerLockElement="pointerLockElement"in document&&"pointerLockElement"||"mozPointerLockElement"in document&&"mozPointerLockElement"||"webkitPointerLockElement"in document&&"webkitPointerLockElement",s.pointerlockchange="onpointerlockchange"in document&&"pointerlockchange"||"onmozpointerlockchange"in document&&"mozpointerlockchange"||"onwebkitpointerlockchange"in document&&"webkitpointerlockchange",s.pointerlockerror="onpointerlockerror"in document&&"pointerlockerror"||"onmozpointerlockerror"in document&&"mozpointerlockerror"||"onwebkitpointerlockerror"in document&&"webkitpointerlockerror",s.pointerLock=!!s.pointerLockElement,s.quirksMode="CSS1Compat"!==document.compatMode,navigator.getUserMedia=navigator.getUserMedia||navigator.webkitGetUserMedia||navigator.mozGetUserMedia||navigator.msGetUserMedia||navigator.oGetUserMedia,window.URL=window.URL||window.webkitURL||window.mozURL||window.msURL,s.getUserMedia=s.getUserMedia&&!!navigator.getUserMedia&&!!window.URL,s.firefox&&s.firefoxVersion<21&&(s.getUserMedia=!1),!s.iOS&&(s.ie||s.firefox||s.chrome)&&(s.canvasBitBltShift=!0),(s.safari||s.mobileSafari)&&(s.canvasBitBltShift=!1)}(),function(){var t=e.CanvasPool.create(this,6,1),i=t.getContext("2d");i.fillStyle="rgba(10, 20, 30, 0.5)",i.fillRect(0,0,1,1);var n=i.getImageData(0,0,1,1);if(n){i.putImageData(n,1,0);var r=i.getImageData(1,0,1,1);s.canHandleAlpha=r.data[0]===n.data[0]&&r.data[1]===n.data[1]&&r.data[2]===n.data[2]&&r.data[3]===n.data[3]}i.globalCompositeOperation="multiply",s.canUseMultiply="multiply"===i.globalCompositeOperation,e.CanvasPool.removeByCanvas(t),PIXI.CanvasTinter.tintMethod=s.canUseMultiply?PIXI.CanvasTinter.tintWithMultiply:PIXI.CanvasTinter.tintWithPerPixel}(),function(){for(var t=["requestFullscreen","requestFullScreen","webkitRequestFullscreen","webkitRequestFullScreen","msRequestFullscreen","msRequestFullScreen","mozRequestFullScreen","mozRequestFullscreen"],e=document.createElement("div"),i=0;i=1)&&(s.touch=!0),(window.PointerEvent||window.MSPointerEvent||window.navigator.msPointerEnabled||window.navigator.pointerEnabled)&&(s.mspointer=!0),s.cocoonJS||("onwheel"in window||s.ie&&"WheelEvent"in window?s.wheelEvent="wheel":"onmousewheel"in window?s.wheelEvent="mousewheel":s.firefox&&"MouseScrollEvent"in window&&(s.wheelEvent="DOMMouseScroll"))},e.Device.canPlayAudio=function(t){return!("mp3"!==t||!this.mp3)||(!("ogg"!==t||!this.ogg&&!this.opus)||(!("m4a"!==t||!this.m4a)||(!("opus"!==t||!this.opus)||(!("wav"!==t||!this.wav)||(!("webm"!==t||!this.webm)||!("mp4"!==t||!this.dolby))))))},e.Device.canPlayVideo=function(t){return!("webm"!==t||!this.webmVideo&&!this.vp9Video)||(!("mp4"!==t||!this.mp4Video&&!this.h264Video)||(!("ogg"!==t&&"ogv"!==t||!this.oggVideo)||!("mpeg"!==t||!this.hlsVideo)))},e.Device.needsTouchUnlock=function(){return!!(!this.cocoonJS&&(this.iOS||this.android)||window.PhaserGlobal&&window.PhaserGlobal.fakeiOSTouchLock)},e.Device.isAndroidStockBrowser=function(){var t=window.navigator.userAgent.match(/Android.*AppleWebKit\/([\d.]+)/);return t&&t[1]<537},e.Canvas={create:function(t,i,s,n,r){i=i||256,s=s||256;var o=r?document.createElement("canvas"):e.CanvasPool.create(t,i,s);return"string"==typeof n&&""!==n&&(o.id=n),o.width=i,o.height=s,o.style.display="block",o},setBackgroundColor:function(t,e){return e=e||"rgb(0,0,0)",t.style.backgroundColor=e,t},setTouchAction:function(t,e){return e=e||"none",t.style.msTouchAction=e,t.style["ms-touch-action"]=e,t.style["touch-action"]=e,t},setUserSelect:function(t,e){return e=e||"none",t.style["-webkit-touch-callout"]=e,t.style["-webkit-user-select"]=e,t.style["-khtml-user-select"]=e,t.style["-moz-user-select"]=e,t.style["-ms-user-select"]=e,t.style["user-select"]=e,t.style["-webkit-tap-highlight-color"]="rgba(0, 0, 0, 0)",t},addToDOM:function(t,e,i){var s;return void 0===i&&(i=!0),e&&("string"==typeof e?s=document.getElementById(e):"object"==typeof e&&1===e.nodeType&&(s=e)),s||(s=document.body),i&&s.style&&(s.style.overflow="hidden"),s.appendChild(t),t},removeFromDOM:function(t){t.parentNode&&t.parentNode.removeChild(t)},setTransform:function(t,e,i,s,n,r,o){return t.setTransform(s,r,o,n,e,i),t},setSmoothingEnabled:function(t,i){var s=e.Canvas.getSmoothingPrefix(t);return s&&(t[s]=i),t},getSmoothingPrefix:function(t){var e=["i","webkitI","msI","mozI","oI"];for(var i in e){var s=e[i]+"mageSmoothingEnabled";if(s in t)return s}return null},getSmoothingEnabled:function(t){var i=e.Canvas.getSmoothingPrefix(t);if(i)return t[i]},setImageRenderingCrisp:function(t){for(var e=["-webkit-optimize-contrast","-moz-crisp-edges","crisp-edges","pixelated"],i=0;i0&&0==(t&t-1))return t;for(var e=1;e0&&0==(t&t-1)&&e>0&&0==(e&e-1)},random:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return Math.random()*(e-t)+t},between:function(t,e){if(void 0===t&&(t=0),void 0===e&&(e=1),t===e)return t;if(t>e){var i=t;t=e,e=i}return t=Math.ceil(t),e=Math.floor(e),Math.floor(Math.random()*(e-t+1))+t},fuzzyEqual:function(t,e,i){return void 0===i&&(i=1e-4),Math.abs(t-e)e-i},fuzzyCeil:function(t,e){return void 0===e&&(e=1e-4),Math.ceil(t-e)},fuzzyFloor:function(t,e){return void 0===e&&(e=1e-4),Math.floor(t+e)},average:function(){for(var t=0,e=arguments.length,i=0;i=e.Math.PI2-s?t=i:(Math.abs(i-t)>Math.PI&&(it?t+=s:i=0?t:t+2*Math.PI},maxAdd:function(t,e,i){return Math.min(t+e,i)},minSub:function(t,e,i){return Math.max(t-e,i)},wrap:function(t,e,i){var s=i-e;if(s<=0)return 0;var n=(t-e)%s;return n<0&&(n+=s),n+e},wrapValue:function(t,e,i){return t=Math.abs(t),e=Math.abs(e),i=Math.abs(i),(t+e)%i},isOdd:function(t){return!!(1&t)},isEven:function(t){return!(1&t)},min:function(){if(1===arguments.length&&"object"==typeof arguments[0])t=arguments[0];else var t=arguments;for(var e=1,i=0,s=t.length;et[i]&&(i=e);return t[i]},minProperty:function(t){if(2===arguments.length&&"object"==typeof arguments[1])e=arguments[1];else var e=arguments.slice(1);for(var i=1,s=0,n=e.length;ie[s][t]&&(s=i);return e[s][t]},wrapAngle:function(t,e){return e?this.wrap(t,-Math.PI,Math.PI):this.wrap(t,-180,180)},linearInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return e<0?this.linear(t[0],t[1],s):e>1?this.linear(t[i],t[i-1],i-s):this.linear(t[n],t[n+1>i?i:n+1],s-n)},bezierInterpolation:function(t,e){for(var i=0,s=t.length-1,n=0;n<=s;n++)i+=Math.pow(1-e,s-n)*Math.pow(e,n)*t[n]*this.bernstein(s,n);return i},catmullRomInterpolation:function(t,e){var i=t.length-1,s=i*e,n=Math.floor(s);return t[0]===t[i]?(e<0&&(n=Math.floor(s=i*(1+e))),this.catmullRom(t[(n-1+i)%i],t[n],t[(n+1)%i],t[(n+2)%i],s-n)):e<0?t[0]-(this.catmullRom(t[0],t[0],t[1],t[1],-s)-t[0]):e>1?t[i]-(this.catmullRom(t[i],t[i],t[i-1],t[i-1],s-i)-t[i]):this.catmullRom(t[n?n-1:0],t[n],t[i0?Math.ceil(t):Math.floor(t)},sinCosGenerator:function(t,e,i,s){void 0===e&&(e=1),void 0===i&&(i=1),void 0===s&&(s=1);for(var n=e,r=i,o=s*Math.PI/t,a=[],h=[],l=0;l0?1:0},percent:function(t,e,i){return void 0===i&&(i=0),t>e||i>e?1:tt?0:(t-i)/e}},e.RandomDataGenerator=function(t){void 0===t&&(t=[]),this.c=1,this.s0=0,this.s1=0,this.s2=0,"string"==typeof t?this.state(t):this.sow(t)},e.RandomDataGenerator.prototype={rnd:function(){var t=2091639*this.s0+2.3283064365386963e-10*this.c;return this.c=0|t,this.s0=this.s1,this.s1=this.s2,this.s2=t-this.c,this.s2},sow:function(t){if(this.s0=this.hash(" "),this.s1=this.hash(this.s0),this.s2=this.hash(this.s1),this.c=1,t)for(var e=0;e>>0,s=(e*=s)>>>0,s+=4294967296*(e-=s);return 2.3283064365386963e-10*(s>>>0)},integer:function(){return 4294967296*this.rnd.apply(this)},frac:function(){return this.rnd.apply(this)+1.1102230246251565e-16*(2097152*this.rnd.apply(this)|0)},real:function(){return this.integer()+this.frac()},integerInRange:function(t,e){return Math.floor(this.realInRange(0,e-t+1)+t)},between:function(t,e){return this.integerInRange(t,e)},realInRange:function(t,e){return this.frac()*(e-t)+t},normal:function(){return 1-2*this.frac()},uuid:function(){var t="",e="";for(e=t="";t++<36;e+=~t%5|3*t&4?(15^t?8^this.frac()*(20^t?16:4):4).toString(16):"-");return e},pick:function(t){return t[this.integerInRange(0,t.length-1)]},sign:function(){return this.pick([-1,1])},weightedPick:function(t){return t[~~(Math.pow(this.frac(),2)*(t.length-1)+.5)]},timestamp:function(t,e){return this.realInRange(t||9466848e5,e||1577862e6)},angle:function(){return this.integerInRange(-180,180)},state:function(t){return"string"==typeof t&&t.match(/^!rnd/)&&(t=t.split(","),this.c=parseFloat(t[1]),this.s0=parseFloat(t[2]),this.s1=parseFloat(t[3]),this.s2=parseFloat(t[4])),["!rnd",this.c,this.s0,this.s1,this.s2].join(",")}},e.RandomDataGenerator.prototype.constructor=e.RandomDataGenerator,e.QuadTree=function(t,e,i,s,n,r,o){this.maxObjects=10,this.maxLevels=4,this.level=0,this.bounds={},this.objects=[],this.nodes=[],this._empty=[],this.reset(t,e,i,s,n,r,o)},e.QuadTree.prototype={reset:function(t,e,i,s,n,r,o){this.maxObjects=n||10,this.maxLevels=r||4,this.level=o||0,this.bounds={x:Math.round(t),y:Math.round(e),width:i,height:s,subWidth:Math.floor(i/2),subHeight:Math.floor(s/2),right:Math.round(t)+Math.floor(i/2),bottom:Math.round(e)+Math.floor(s/2)},this.objects.length=0,this.nodes.length=0},populate:function(t){t.forEach(this.populateHandler,this,!0)},populateHandler:function(t){t.body&&t.exists&&this.insert(t.body)},split:function(){this.nodes[0]=new e.QuadTree(this.bounds.right,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[1]=new e.QuadTree(this.bounds.x,this.bounds.y,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[2]=new e.QuadTree(this.bounds.x,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1),this.nodes[3]=new e.QuadTree(this.bounds.right,this.bounds.bottom,this.bounds.subWidth,this.bounds.subHeight,this.maxObjects,this.maxLevels,this.level+1)},insert:function(t){var e,i=0;if(null==this.nodes[0]||-1===(e=this.getIndex(t))){if(this.objects.push(t),this.objects.length>this.maxObjects&&this.levelthis.bounds.bottom&&(e=2):t.x>this.bounds.right&&(t.ythis.bounds.bottom&&(e=3)),e},retrieve:function(t){if(t instanceof e.Rectangle)var i=this.objects,s=this.getIndex(t);else{if(!t.body)return this._empty;var i=this.objects,s=this.getIndex(t.body)}return this.nodes[0]&&(i=-1!==s?i.concat(this.nodes[s].retrieve(t)):(i=(i=(i=i.concat(this.nodes[0].retrieve(t))).concat(this.nodes[1].retrieve(t))).concat(this.nodes[2].retrieve(t))).concat(this.nodes[3].retrieve(t))),i},clear:function(){this.objects.length=0;for(var t=this.nodes.length;t--;)this.nodes[t].clear(),this.nodes.splice(t,1);this.nodes.length=0}},e.QuadTree.prototype.constructor=e.QuadTree,e.Net=function(t){this.game=t},e.Net.prototype={getHostName:function(){return window.location&&window.location.hostname?window.location.hostname:null},checkDomainName:function(t){return-1!==window.location.hostname.indexOf(t)},updateQueryString:function(t,e,i,s){void 0===i&&(i=!1),void 0!==s&&""!==s||(s=window.location.href);var n="",r=new RegExp("([?|&])"+t+"=.*?(&|#|$)(.*)","gi");if(r.test(s))n=void 0!==e&&null!==e?s.replace(r,"$1"+t+"="+e+"$2$3"):s.replace(r,"$1$3").replace(/(&|\?)$/,"");else if(void 0!==e&&null!==e){var o=-1!==s.indexOf("?")?"&":"?",a=s.split("#");s=a[0]+o+t+"="+e,a[1]&&(s+="#"+a[1]),n=s}else n=s;if(!i)return n;window.location.href=n},getQueryString:function(t){void 0===t&&(t="");var e={},i=location.search.substring(1).split("&");for(var s in i){var n=i[s].split("=");if(n.length>1){if(t&&t===this.decodeURI(n[0]))return this.decodeURI(n[1]);e[this.decodeURI(n[0])]=this.decodeURI(n[1])}}return e},decodeURI:function(t){return decodeURIComponent(t.replace(/\+/g," "))}},e.Net.prototype.constructor=e.Net,e.TweenManager=function(t){this.game=t,this.frameBased=!1,this._tweens=[],this._add=[],this.easeMap={Power0:e.Easing.Power0,Power1:e.Easing.Power1,Power2:e.Easing.Power2,Power3:e.Easing.Power3,Power4:e.Easing.Power4,Linear:e.Easing.Linear.None,Quad:e.Easing.Quadratic.Out,Cubic:e.Easing.Cubic.Out,Quart:e.Easing.Quartic.Out,Quint:e.Easing.Quintic.Out,Sine:e.Easing.Sinusoidal.Out,Expo:e.Easing.Exponential.Out,Circ:e.Easing.Circular.Out,Elastic:e.Easing.Elastic.Out,Back:e.Easing.Back.Out,Bounce:e.Easing.Bounce.Out,"Quad.easeIn":e.Easing.Quadratic.In,"Cubic.easeIn":e.Easing.Cubic.In,"Quart.easeIn":e.Easing.Quartic.In,"Quint.easeIn":e.Easing.Quintic.In,"Sine.easeIn":e.Easing.Sinusoidal.In,"Expo.easeIn":e.Easing.Exponential.In,"Circ.easeIn":e.Easing.Circular.In,"Elastic.easeIn":e.Easing.Elastic.In,"Back.easeIn":e.Easing.Back.In,"Bounce.easeIn":e.Easing.Bounce.In,"Quad.easeOut":e.Easing.Quadratic.Out,"Cubic.easeOut":e.Easing.Cubic.Out,"Quart.easeOut":e.Easing.Quartic.Out,"Quint.easeOut":e.Easing.Quintic.Out,"Sine.easeOut":e.Easing.Sinusoidal.Out,"Expo.easeOut":e.Easing.Exponential.Out,"Circ.easeOut":e.Easing.Circular.Out,"Elastic.easeOut":e.Easing.Elastic.Out,"Back.easeOut":e.Easing.Back.Out,"Bounce.easeOut":e.Easing.Bounce.Out,"Quad.easeInOut":e.Easing.Quadratic.InOut,"Cubic.easeInOut":e.Easing.Cubic.InOut,"Quart.easeInOut":e.Easing.Quartic.InOut,"Quint.easeInOut":e.Easing.Quintic.InOut,"Sine.easeInOut":e.Easing.Sinusoidal.InOut,"Expo.easeInOut":e.Easing.Exponential.InOut,"Circ.easeInOut":e.Easing.Circular.InOut,"Elastic.easeInOut":e.Easing.Elastic.InOut,"Back.easeInOut":e.Easing.Back.InOut,"Bounce.easeInOut":e.Easing.Bounce.InOut},this.game.onPause.add(this._pauseAll,this),this.game.onResume.add(this._resumeAll,this)},e.TweenManager.prototype={getAll:function(){return this._tweens},removeAll:function(){for(var t=0;t0&&(this._tweens=this._tweens.concat(this._add),this._add.length=0),!0},isTweening:function(t,e){return e||(e=!1),this._tweens.some(function(i){return i.target===t&&(!e||i.isRunning&&!i.pendingDelete)})},_pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._pause()},_resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t]._resume()},pauseAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].pause()},resumeAll:function(){for(var t=this._tweens.length-1;t>=0;t--)this._tweens[t].resume(!0)},destroy:function(){this.game.onPause.remove(this._pauseAll,this),this.game.onResume.remove(this._resumeAll,this),this.game=null,this._add=null,this._tweens=null}},e.TweenManager.prototype.constructor=e.TweenManager,e.Tween=function(t,i,s){this.game=i,this.target=t,this.manager=s,this.timeline=[],this.reverse=!1,this.timeScale=1,this.repeatCounter=0,this.pendingDelete=!1,this.onStart=new e.Signal,this.onLoop=new e.Signal,this.onRepeat=new e.Signal,this.onChildComplete=new e.Signal,this.onComplete=new e.Signal,this.isRunning=!1,this.current=0,this.properties={},this.chainedTween=null,this.isPaused=!1,this.frameBased=s.frameBased,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,this._pausedTime=0,this._codePaused=!1,this._hasStarted=!1},e.Tween.updateColor=function(t){e.Color.updateColor(t.target)},e.Tween.prototype={to:function(t,i,s,n,r,o,a){return(void 0===i||i<=0)&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.to cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).to(t,i,s,r,o,a)),n&&this.start(),this)},from:function(t,i,s,n,r,o,a){return void 0===i&&(i=1e3),void 0!==s&&null!==s||(s=e.Easing.Default),void 0===n&&(n=!1),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=!1),"string"==typeof s&&this.manager.easeMap[s]&&(s=this.manager.easeMap[s]),this.isRunning?(console.warn("Phaser.Tween.from cannot be called after Tween.start"),this):(this.timeline.push(new e.TweenData(this).from(t,i,s,r,o,a)),n&&this.start(),this)},start:function(t){if(void 0===t&&(t=0),this.pendingDelete)return console.warn("Phaser.Tween.start cannot be called after Tween.stop"),this;if(null===this.game||null===this.target||0===this.timeline.length||this.isRunning)return this;for(i=0;ithis.timeline.length-1)&&(t=0),this.current=t,this.timeline[this.current].start(),this},stop:function(t){return void 0===t&&(t=!1),this.isRunning=!1,this._onUpdateCallback=null,this._onUpdateCallbackContext=null,t&&(this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start()),this.manager.remove(this),this},updateTweenData:function(t,e,i){if(0===this.timeline.length)return this;if(void 0===i&&(i=0),-1===i)for(var s=0;s0?arguments[t-1].chainedTween=arguments[t]:this.chainedTween=arguments[t];return this},loop:function(t){return void 0===t&&(t=!0),this.repeatCounter=t?-1:0,this},onUpdateCallback:function(t,e){return this._onUpdateCallback=t,this._onUpdateCallbackContext=e,this},pause:function(){this.isPaused=!0,this._codePaused=!0,this._pausedTime=this.game.time.time},_pause:function(){this._codePaused||(this.isPaused=!0,this._pausedTime=this.game.time.time)},resume:function(){if(this.isPaused){this.isPaused=!1,this._codePaused=!1;for(var t=0;t0?(this.repeatCounter--,this.timeline[this.current].start(),this.onRepeat.dispatch(this.target,this),!0):(this.isRunning=!1,this.onComplete.dispatch(this.target,this),this._hasStarted=!1,this.chainedTween&&this.chainedTween.start(),!1):(this.onChildComplete.dispatch(this.target,this),this.timeline[this.current].start(),!0)}},generateData:function(t,e){if(null===this.game||null===this.target)return null;void 0===t&&(t=60),void 0===e&&(e=[]);for(s=0;s0?this.isRunning=!1:this.isRunning=!0,this.isFrom)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t],this.parent.target[t]=this.vStart[t];return this.value=0,this.repeatCounter=this.repeatTotal,this},loadValues:function(){for(var t in this.parent.properties){if(this.vStart[t]=this.parent.properties[t],Array.isArray(this.vEnd[t])){if(0===this.vEnd[t].length)continue;0===this.percent&&(this.vEnd[t]=[this.vStart[t]].concat(this.vEnd[t]))}void 0!==this.vEnd[t]?("string"==typeof this.vEnd[t]&&(this.vEnd[t]=this.vStart[t]+parseFloat(this.vEnd[t])),this.parent.properties[t]=this.vEnd[t]):this.vEnd[t]=this.vStart[t],this.vStartCache[t]=this.vStart[t],this.vEndCache[t]=this.vEnd[t]}return this},update:function(t){if(this.isRunning){if(t=this.startTime))return e.TweenData.PENDING;this.isRunning=!0}var i=this.parent.frameBased?this.game.time.physicsElapsedMS:this.game.time.elapsedMS;this.parent.reverse?(this.dt-=i*this.parent.timeScale,this.dt=Math.max(this.dt,0)):(this.dt+=i*this.parent.timeScale,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);for(var s in this.vEnd){var n=this.vStart[s],r=this.vEnd[s];Array.isArray(r)?this.parent.target[s]=this.interpolationFunction.call(this.interpolationContext,r,this.value):this.parent.target[s]=n+(r-n)*this.value}return!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent?this.repeat():e.TweenData.RUNNING},generateData:function(t){this.parent.reverse?this.dt=this.duration:this.dt=0;var e=[],i=!1,s=1/t*1e3;do{this.parent.reverse?(this.dt-=s,this.dt=Math.max(this.dt,0)):(this.dt+=s,this.dt=Math.min(this.dt,this.duration)),this.percent=this.dt/this.duration,this.value=this.easingFunction(this.percent);var n={};for(var r in this.vEnd){var o=this.vStart[r],a=this.vEnd[r];Array.isArray(a)?n[r]=this.interpolationFunction.call(this.interpolationContext,a,this.value):n[r]=o+(a-o)*this.value}e.push(n),(!this.parent.reverse&&1===this.percent||this.parent.reverse&&0===this.percent)&&(i=!0)}while(!i);if(this.yoyo){var h=e.slice();h.reverse(),e=e.concat(h)}return e},repeat:function(){if(this.yoyo){if(this.inReverse&&0===this.repeatCounter){for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];return this.inReverse=!1,e.TweenData.COMPLETE}this.inReverse=!this.inReverse}else if(0===this.repeatCounter)return e.TweenData.COMPLETE;if(this.inReverse)for(var t in this.vStartCache)this.vStart[t]=this.vEndCache[t],this.vEnd[t]=this.vStartCache[t];else{for(var t in this.vStartCache)this.vStart[t]=this.vStartCache[t],this.vEnd[t]=this.vEndCache[t];this.repeatCounter>0&&this.repeatCounter--}return this.startTime=this.game.time.time,this.yoyo&&this.inReverse?this.startTime+=this.yoyoDelay:this.inReverse||(this.startTime+=this.repeatDelay),this.parent.reverse?this.dt=this.duration:this.dt=0,e.TweenData.LOOPED}},e.TweenData.prototype.constructor=e.TweenData,e.Easing={Linear:{None:function(t){return t}},Quadratic:{In:function(t){return t*t},Out:function(t){return t*(2-t)},InOut:function(t){return(t*=2)<1?.5*t*t:-.5*(--t*(t-2)-1)}},Cubic:{In:function(t){return t*t*t},Out:function(t){return--t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t:.5*((t-=2)*t*t+2)}},Quartic:{In:function(t){return t*t*t*t},Out:function(t){return 1- --t*t*t*t},InOut:function(t){return(t*=2)<1?.5*t*t*t*t:-.5*((t-=2)*t*t*t-2)}},Quintic:{In:function(t){return t*t*t*t*t},Out:function(t){return--t*t*t*t*t+1},InOut:function(t){return(t*=2)<1?.5*t*t*t*t*t:.5*((t-=2)*t*t*t*t+2)}},Sinusoidal:{In:function(t){return 0===t?0:1===t?1:1-Math.cos(t*Math.PI/2)},Out:function(t){return 0===t?0:1===t?1:Math.sin(t*Math.PI/2)},InOut:function(t){return 0===t?0:1===t?1:.5*(1-Math.cos(Math.PI*t))}},Exponential:{In:function(t){return 0===t?0:Math.pow(1024,t-1)},Out:function(t){return 1===t?1:1-Math.pow(2,-10*t)},InOut:function(t){return 0===t?0:1===t?1:(t*=2)<1?.5*Math.pow(1024,t-1):.5*(2-Math.pow(2,-10*(t-1)))}},Circular:{In:function(t){return 1-Math.sqrt(1-t*t)},Out:function(t){return Math.sqrt(1- --t*t)},InOut:function(t){return(t*=2)<1?-.5*(Math.sqrt(1-t*t)-1):.5*(Math.sqrt(1-(t-=2)*t)+1)}},Elastic:{In:function(t){return 0===t?0:1===t?1:(.1,-1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4))},Out:function(t){return 0===t?0:1===t?1:(.1,1*Math.pow(2,-10*t)*Math.sin((t-.1)*(2*Math.PI)/.4)+1)},InOut:function(t){return 0===t?0:1===t?1:(.1,(t*=2)<1?1*Math.pow(2,10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*-.5:1*Math.pow(2,-10*(t-=1))*Math.sin((t-.1)*(2*Math.PI)/.4)*.5+1)}},Back:{In:function(t){var e=1.70158;return t*t*((e+1)*t-e)},Out:function(t){var e=1.70158;return--t*t*((e+1)*t+e)+1},InOut:function(t){var e=2.5949095;return(t*=2)<1?t*t*((e+1)*t-e)*.5:.5*((t-=2)*t*((e+1)*t+e)+2)}},Bounce:{In:function(t){return 1-e.Easing.Bounce.Out(1-t)},Out:function(t){return t<1/2.75?7.5625*t*t:t<2/2.75?7.5625*(t-=1.5/2.75)*t+.75:t<2.5/2.75?7.5625*(t-=2.25/2.75)*t+.9375:7.5625*(t-=2.625/2.75)*t+.984375},InOut:function(t){return t<.5?.5*e.Easing.Bounce.In(2*t):.5*e.Easing.Bounce.Out(2*t-1)+.5}}},e.Easing.Default=e.Easing.Linear.None,e.Easing.Power0=e.Easing.Linear.None,e.Easing.Power1=e.Easing.Quadratic.Out,e.Easing.Power2=e.Easing.Cubic.Out,e.Easing.Power3=e.Easing.Quartic.Out,e.Easing.Power4=e.Easing.Quintic.Out,e.Time=function(t){this.game=t,this.time=0,this.prevTime=0,this.now=0,this.elapsed=0,this.elapsedMS=0,this.physicsElapsed=1/60,this.physicsElapsedMS=1/60*1e3,this.desiredFpsMult=1/60,this._desiredFps=60,this.suggestedFps=this.desiredFps,this.slowMotion=1,this.advancedTiming=!1,this.frames=0,this.updates=0,this.renders=0,this.fps=0,this.ups=0,this.rps=0,this.fpsMin=1e3,this.fpsMax=0,this.msMin=1e3,this.msMax=0,this.pauseDuration=0,this.timeToCall=0,this.timeExpected=0,this.events=new e.Timer(this.game,!1),this._frameCount=0,this._elapsedAccumulator=0,this._started=0,this._timeLastSecond=0,this._pauseStarted=0,this._justResumed=!1,this._timers=[]},e.Time.prototype={boot:function(){this._started=Date.now(),this.time=Date.now(),this.events.start(),this.timeExpected=this.time},add:function(t){return this._timers.push(t),t},create:function(t){void 0===t&&(t=!0);var i=new e.Timer(this.game,t);return this._timers.push(i),i},removeAll:function(){for(var t=0;t=2*this._desiredFps&&(this.suggestedFps=5*Math.floor(200/(this._elapsedAccumulator/this._frameCount)),this._frameCount=0,this._elapsedAccumulator=0),this.msMin=Math.min(this.msMin,this.elapsed),this.msMax=Math.max(this.msMax,this.elapsed),this.frames++,this.now>this._timeLastSecond+1e3){var t=this.now-this._timeLastSecond;this.fps=Math.round(1e3*this.frames/t),this.ups=Math.round(1e3*this.updates/t),this.rps=Math.round(1e3*this.renders/t),this.fpsMin=Math.min(this.fpsMin,this.fps),this.fpsMax=Math.max(this.fpsMax,this.fps),this._timeLastSecond=this.now,this.frames=0,this.updates=0,this.renders=0}},countUpdate:function(){this.advancedTiming&&this.updates++},countRender:function(){this.advancedTiming&&this.renders++},gamePaused:function(){this._pauseStarted=Date.now(),this.events.pause();for(var t=this._timers.length;t--;)this._timers[t]._pause()},gameResumed:function(){this.time=Date.now(),this.pauseDuration=this.time-this._pauseStarted,this.events.resume();for(var t=this._timers.length;t--;)this._timers[t]._resume()},totalElapsedSeconds:function(){return.001*(this.time-this._started)},elapsedSince:function(t){return this.time-t},elapsedSecondsSince:function(t){return.001*(this.time-t)},reset:function(){this._started=this.time,this.removeAll()}},Object.defineProperty(e.Time.prototype,"desiredFps",{get:function(){return this._desiredFps},set:function(t){this._desiredFps=t,this.physicsElapsed=1/t,this.physicsElapsedMS=1e3*this.physicsElapsed,this.desiredFpsMult=1/t}}),e.Time.prototype.constructor=e.Time,e.Timer=function(t,i){void 0===i&&(i=!0),this.game=t,this.running=!1,this.autoDestroy=i,this.expired=!1,this.elapsed=0,this.events=[],this.onComplete=new e.Signal,this.nextTick=0,this.timeCap=1e3,this.paused=!1,this._codePaused=!1,this._started=0,this._pauseStarted=0,this._pauseTotal=0,this._now=Date.now(),this._len=0,this._marked=0,this._i=0,this._diff=0,this._newTick=0},e.Timer.MINUTE=6e4,e.Timer.SECOND=1e3,e.Timer.HALF=500,e.Timer.QUARTER=250,e.Timer.prototype={create:function(t,i,s,n,r,o){var a=t=Math.round(t);0===this._now?a+=this.game.time.time:a+=this._now;var h=new e.TimerEvent(this,t,a,s,i,n,r,o);return this.events.push(h),this.order(),this.expired=!1,h},add:function(t,e,i){return this.create(t,!1,0,e,i,Array.prototype.slice.call(arguments,3))},repeat:function(t,e,i,s){return this.create(t,!1,e,i,s,Array.prototype.slice.call(arguments,4))},loop:function(t,e,i){return this.create(t,!0,0,e,i,Array.prototype.slice.call(arguments,3))},start:function(t){if(!this.running){this._started=this.game.time.time+(t||0),this.running=!0;for(var e=0;e0&&(this.events.sort(this.sortHandler),this.nextTick=this.events[0].tick)},sortHandler:function(t,e){return t.ticke.tick?1:0},clearPendingEvents:function(){for(this._i=this.events.length;this._i--;)this.events[this._i].pendingDelete&&this.events.splice(this._i,1);this._len=this.events.length,this._i=0},update:function(t){if(this.paused)return!0;if(this.elapsed=t-this._now,this._now=t,this.elapsed>this.timeCap&&this.adjustEvents(t-this.elapsed),this._marked=0,this.clearPendingEvents(),this.running&&this._now>=this.nextTick&&this._len>0){for(;this._i=e.tick)||e.pendingDelete)break;this._newTick=this._now+e.delay-(this._now-e.tick),this._newTick<0&&(this._newTick=this._now+e.delay),!0===e.loop?(e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):e.repeatCount>0?(e.repeatCount--,e.tick=this._newTick,e.callback.apply(e.callbackContext,e.args)):(this._marked++,e.pendingDelete=!0,e.callback.apply(e.callbackContext,e.args)),this._i++}this.events.length>this._marked?this.order():(this.expired=!0,this.onComplete.dispatch(this))}return!this.expired||!this.autoDestroy},pause:function(){this.running&&(this._codePaused=!0,this.paused||(this._pauseStarted=this.game.time.time,this.paused=!0))},_pause:function(){!this.paused&&this.running&&(this._pauseStarted=this.game.time.time,this.paused=!0)},adjustEvents:function(t){for(var e=0;ethis._now?this.nextTick-this._now:0}}),Object.defineProperty(e.Timer.prototype,"length",{get:function(){return this.events.length}}),Object.defineProperty(e.Timer.prototype,"ms",{get:function(){return this.running?this._now-this._started-this._pauseTotal:0}}),Object.defineProperty(e.Timer.prototype,"seconds",{get:function(){return this.running?.001*this.ms:0}}),e.Timer.prototype.constructor=e.Timer,e.TimerEvent=function(t,e,i,s,n,r,o,a){this.timer=t,this.delay=e,this.tick=i,this.repeatCount=s-1,this.loop=n,this.callback=r,this.callbackContext=o,this.args=a,this.pendingDelete=!1},e.TimerEvent.prototype.constructor=e.TimerEvent,e.AnimationManager=function(t){this.sprite=t,this.game=t.game,this.currentFrame=null,this.currentAnim=null,this.updateIfVisible=!0,this.isLoaded=!1,this._frameData=null,this._anims={},this._outputFrames=[]},e.AnimationManager.prototype={loadFrameData:function(t,e){if(void 0===t)return!1;if(this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(t);return this._frameData=t,void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},copyFrameData:function(t,e){if(this._frameData=t.clone(),this.isLoaded)for(var i in this._anims)this._anims[i].updateFrameData(this._frameData);return void 0===e||null===e?this.frame=0:"string"==typeof e?this.frameName=e:this.frame=e,this.isLoaded=!0,!0},add:function(t,i,s,n,r){return i=i||[],s=s||60,void 0===n&&(n=!1),void 0===r&&(r=!(!i||"number"!=typeof i[0])),this._outputFrames=[],this._frameData.getFrameIndexes(i,r,this._outputFrames),this._anims[t]=new e.Animation(this.game,this.sprite,t,this._frameData,this._outputFrames,s,n),this.currentAnim=this._anims[t],this.sprite.tilingTexture&&(this.sprite.refreshTexture=!0),this._anims[t]},validateFrames:function(t,e){void 0===e&&(e=!0);for(var i=0;ithis._frameData.total)return!1}else if(!1===this._frameData.checkFrameName(t[i]))return!1;return!0},play:function(t,e,i,s){if(this._anims[t])return this.currentAnim===this._anims[t]?!1===this.currentAnim.isPlaying?(this.currentAnim.paused=!1,this.currentAnim.play(e,i,s)):this.currentAnim:(this.currentAnim&&this.currentAnim.isPlaying&&this.currentAnim.stop(),this.currentAnim=this._anims[t],this.currentAnim.paused=!1,this.currentFrame=this.currentAnim.currentFrame,this.currentAnim.play(e,i,s))},stop:function(t,e){void 0===e&&(e=!1),!this.currentAnim||"string"==typeof t&&t!==this.currentAnim.name||this.currentAnim.stop(e)},update:function(){return!(this.updateIfVisible&&!this.sprite.visible)&&(!(!this.currentAnim||!this.currentAnim.update())&&(this.currentFrame=this.currentAnim.currentFrame,!0))},next:function(t){this.currentAnim&&(this.currentAnim.next(t),this.currentFrame=this.currentAnim.currentFrame)},previous:function(t){this.currentAnim&&(this.currentAnim.previous(t),this.currentFrame=this.currentAnim.currentFrame)},getAnimation:function(t){return"string"==typeof t&&this._anims[t]?this._anims[t]:null},refreshFrame:function(){},destroy:function(){t=null;for(var t in this._anims)this._anims.hasOwnProperty(t)&&this._anims[t].destroy();this._anims={},this._outputFrames=[],this._frameData=null,this.currentAnim=null,this.currentFrame=null,this.sprite=null,this.game=null}},e.AnimationManager.prototype.constructor=e.AnimationManager,Object.defineProperty(e.AnimationManager.prototype,"frameData",{get:function(){return this._frameData}}),Object.defineProperty(e.AnimationManager.prototype,"frameTotal",{get:function(){return this._frameData.total}}),Object.defineProperty(e.AnimationManager.prototype,"paused",{get:function(){return this.currentAnim.isPaused},set:function(t){this.currentAnim.paused=t}}),Object.defineProperty(e.AnimationManager.prototype,"name",{get:function(){return this.currentAnim?this.currentAnim.name:void 0}}),Object.defineProperty(e.AnimationManager.prototype,"frame",{get:function(){return this.currentFrame?this.currentFrame.index:void 0},set:function(t){var e;"number"==typeof t&&this._frameData&&(e=this._frameData.getFrame(t))&&(this.currentFrame=e,this.sprite.setFrame(this.currentFrame))}}),Object.defineProperty(e.AnimationManager.prototype,"frameName",{get:function(){return this.currentFrame?this.currentFrame.name:void 0},set:function(t){var e;"string"==typeof t&&this._frameData&&(e=this._frameData.getFrameByName(t))?(this.currentFrame=e,this._frameIndex=this.currentFrame.index,this.sprite.setFrame(this.currentFrame)):console.warn("Cannot set frameName: "+t)}}),e.Animation=function(t,i,s,n,r,o,a){void 0===a&&(a=!1),this.game=t,this._parent=i,this._frameData=n,this.name=s,this._frames=[],this._frames=this._frames.concat(r),this.delay=1e3/o,this.loop=a,this.loopCount=0,this.killOnComplete=!1,this.isFinished=!1,this.isPlaying=!1,this.isPaused=!1,this._pauseStartTime=0,this._frameIndex=0,this._frameDiff=0,this._frameSkip=1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.onStart=new e.Signal,this.onUpdate=null,this.onComplete=new e.Signal,this.onLoop=new e.Signal,this.isReversed=!1,this.game.onPause.add(this.onPause,this),this.game.onResume.add(this.onResume,this)},e.Animation.prototype={play:function(t,e,i){return"number"==typeof t&&(this.delay=1e3/t),"boolean"==typeof e&&(this.loop=e),void 0!==i&&(this.killOnComplete=i),this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=this.isReversed?this._frames.length-1:0,this.updateCurrentFrame(!1,!0),this._parent.events.onAnimationStart$dispatch(this._parent,this),this.onStart.dispatch(this._parent,this),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this},restart:function(){this.isPlaying=!0,this.isFinished=!1,this.paused=!1,this.loopCount=0,this._timeLastFrame=this.game.time.time,this._timeNextFrame=this.game.time.time+this.delay,this._frameIndex=0,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this._parent.setFrame(this.currentFrame),this._parent.animations.currentAnim=this,this._parent.animations.currentFrame=this.currentFrame,this.onStart.dispatch(this._parent,this)},reverse:function(){return this.reversed=!this.reversed,this},reverseOnce:function(){return this.onComplete.addOnce(this.reverse,this),this.reverse()},setFrame:function(t,e){var i;if(void 0===e&&(e=!1),"string"==typeof t)for(s=0;s=0)&&(this._frameSkip=1,this._frameDiff=e,this._timeLastFrame=t,this._frameDiff>this.delay&&(this._frameSkip=Math.floor(this._frameDiff/this.delay),this._frameDiff-=this._frameSkip*this.delay),this._timeNextFrame=t+(this.delay-this._frameDiff),this.isReversed?this._frameIndex-=this._frameSkip:this._frameIndex+=this._frameSkip,!this.isReversed&&this._frameIndex>=this._frames.length||this.isReversed&&this._frameIndex<=-1?this.loop?(this._frameIndex=Math.abs(this._frameIndex)%this._frames.length,this.isReversed&&(this._frameIndex=this._frames.length-1-this._frameIndex),this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&this._parent.setFrame(this.currentFrame),this.loopCount++,this._parent.events.onAnimationLoop$dispatch(this._parent,this),this.onLoop.dispatch(this._parent,this),!this.onUpdate||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)):(this.complete(),!1):this.updateCurrentFrame(!0))},updateCurrentFrame:function(t,e){if(void 0===e&&(e=!1),!this._frameData)return!1;var i=this.currentFrame.index;return this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.currentFrame&&(e||i!==this.currentFrame.index)&&this._parent.setFrame(this.currentFrame),!this.onUpdate||!t||(this.onUpdate.dispatch(this,this.currentFrame),!!this._frameData)},next:function(t){void 0===t&&(t=1);var e=this._frameIndex+t;e>=this._frames.length&&(this.loop?e%=this._frames.length:e=this._frames.length-1),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},previous:function(t){void 0===t&&(t=1);var e=this._frameIndex-t;e<0&&(this.loop?e=this._frames.length+e:e++),e!==this._frameIndex&&(this._frameIndex=e,this.updateCurrentFrame(!0))},updateFrameData:function(t){this._frameData=t,this.currentFrame=this._frameData?this._frameData.getFrame(this._frames[this._frameIndex%this._frames.length]):null},destroy:function(){this._frameData&&(this.game.onPause.remove(this.onPause,this),this.game.onResume.remove(this.onResume,this),this.game=null,this._parent=null,this._frames=null,this._frameData=null,this.currentFrame=null,this.isPlaying=!1,this.onStart.dispose(),this.onLoop.dispose(),this.onComplete.dispose(),this.onUpdate&&this.onUpdate.dispose())},complete:function(){this._frameIndex=this._frames.length-1,this.currentFrame=this._frameData.getFrame(this._frames[this._frameIndex]),this.updateCurrentFrame(!1),this.isPlaying=!1,this.isFinished=!0,this.paused=!1,this._parent.events.onAnimationComplete$dispatch(this._parent,this),this.onComplete.dispatch(this._parent,this),this.killOnComplete&&this._parent.kill()}},e.Animation.prototype.constructor=e.Animation,Object.defineProperty(e.Animation.prototype,"paused",{get:function(){return this.isPaused},set:function(t){this.isPaused=t,t?this._pauseStartTime=this.game.time.time:this.isPlaying&&(this._timeNextFrame=this.game.time.time+this.delay)}}),Object.defineProperty(e.Animation.prototype,"reversed",{get:function(){return this.isReversed},set:function(t){this.isReversed=t}}),Object.defineProperty(e.Animation.prototype,"frameTotal",{get:function(){return this._frames.length}}),Object.defineProperty(e.Animation.prototype,"frame",{get:function(){return null!==this.currentFrame?this.currentFrame.index:this._frameIndex},set:function(t){this.currentFrame=this._frameData.getFrame(this._frames[t]),null!==this.currentFrame&&(this._frameIndex=t,this._parent.setFrame(this.currentFrame),this.onUpdate&&this.onUpdate.dispatch(this,this.currentFrame))}}),Object.defineProperty(e.Animation.prototype,"speed",{get:function(){return 1e3/this.delay},set:function(t){t>0&&(this.delay=1e3/t)}}),Object.defineProperty(e.Animation.prototype,"enableUpdate",{get:function(){return null!==this.onUpdate},set:function(t){t&&null===this.onUpdate?this.onUpdate=new e.Signal:t||null===this.onUpdate||(this.onUpdate.dispose(),this.onUpdate=null)}}),e.Animation.generateFrameNames=function(t,i,s,n,r){void 0===n&&(n="");var o=[],a="";if(i=s;h--)a=t+(a="number"==typeof r?e.Utils.pad(h.toString(),r,"0",1):h.toString())+n,o.push(a);return o},e.Frame=function(t,i,s,n,r,o){this.index=t,this.x=i,this.y=s,this.width=n,this.height=r,0!==this.width&&0!==this.height||console.warn('Phaser.Frame: Frame "'+this.name+'" has a width or height of zero'),this.name=o,this.centerX=Math.floor(n/2),this.centerY=Math.floor(r/2),this.distance=e.Math.distance(0,0,n,r),this.rotated=!1,this.trimmed=!1,this.sourceSizeW=n,this.sourceSizeH=r,this.spriteSourceSizeX=0,this.spriteSourceSizeY=0,this.spriteSourceSizeW=0,this.spriteSourceSizeH=0,this.right=this.x+this.width,this.bottom=this.y+this.height},e.Frame.prototype={resize:function(t,i){this.width=t,this.height=i,this.centerX=Math.floor(t/2),this.centerY=Math.floor(i/2),this.distance=e.Math.distance(0,0,t,i),this.sourceSizeW=t,this.sourceSizeH=i,this.right=this.x+t,this.bottom=this.y+i},setTrim:function(t,e,i,s,n,r,o){this.trimmed=t,t&&(this.sourceSizeW=e,this.sourceSizeH=i,this.centerX=Math.floor(e/2),this.centerY=Math.floor(i/2),this.spriteSourceSizeX=s,this.spriteSourceSizeY=n,this.spriteSourceSizeW=r,this.spriteSourceSizeH=o)},clone:function(){var t=new e.Frame(this.index,this.x,this.y,this.width,this.height,this.name);for(var i in this)this.hasOwnProperty(i)&&(t[i]=this[i]);return t},getRect:function(t){return void 0===t?t=new e.Rectangle(this.x,this.y,this.width,this.height):t.setTo(this.x,this.y,this.width,this.height),t}},e.Frame.prototype.constructor=e.Frame,e.FrameData=function(){this._frames=[],this._frameNames=[]},e.FrameData.prototype={addFrame:function(t){return t.index=this._frames.length,this._frames.push(t),""!==t.name&&(this._frameNames[t.name]=t.index),t},getFrame:function(t){return t>=this._frames.length&&(t=0),this._frames[t]},getFrameByName:function(t){return"number"==typeof this._frameNames[t]?this._frames[this._frameNames[t]]:null},checkFrameName:function(t){return null!=this._frameNames[t]},clone:function(){for(var t=new e.FrameData,i=0;if||h<-f)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' skipFrames = %s is larger than the frame total %s",i,h,f),null;if(r>-1&&(v=(f=r)-1),d<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has width %d, but it should be at least %d (frameWidth=%s, margin=%s, spacing=%s)",i,c,s+o+a,s,o,a),p<1&&console.warn("Phaser.AnimationParser.spriteSheet: image '%s' has height %d, but it should be at least %d (frameHeight=%s, margin=%s, spacing=%s)",i,u,n+o+a,n,o,a),0===g)return console.warn("Phaser.AnimationParser.spriteSheet: '%s' zero frames were produced",i),null;if(h>0?v=(y=h)+(f=Math.min(f,g-h))-1:h<0&&(y=(v=m+h)-(f=Math.min(f,g+h))+1),y<0)return console.warn("First frame index %s is outside of range [0, %d]",y,m),null;if(v>m)return console.warn("Last frame index %s is outside of range [0, %d]",v,m),null;for(var x=new e.FrameData,b=o,_=o,w=0,T=0;Tv);T++)T>=y&&x.addFrame(new e.Frame(w++,b,_,s,n,"")),(b+=s+a)+s>c&&(b=o,_+=n+a);return x},JSONData:function(t,i){if(!i.frames)return console.warn("Phaser.AnimationParser.JSONData: Invalid Texture Atlas JSON given, missing 'frames' array"),void console.log(i);for(var s,n=new e.FrameData,r=i.frames,o=0;o tag")}},e.Cache=function(t){this.game=t,this.autoResolveURL=!1,this._cache={canvas:{},image:{},texture:{},sound:{},video:{},text:{},json:{},xml:{},physics:{},tilemap:{},binary:{},bitmapData:{},bitmapFont:{},shader:{},renderTexture:{},compressedTexture:{}},this._urlMap={},this._urlResolver=new Image,this._urlTemp=null,this.onSoundUnlock=new e.Signal,this._cacheMap=[],this._cacheMap[e.Cache.CANVAS]=this._cache.canvas,this._cacheMap[e.Cache.IMAGE]=this._cache.image,this._cacheMap[e.Cache.TEXTURE]=this._cache.texture,this._cacheMap[e.Cache.SOUND]=this._cache.sound,this._cacheMap[e.Cache.TEXT]=this._cache.text,this._cacheMap[e.Cache.PHYSICS]=this._cache.physics,this._cacheMap[e.Cache.TILEMAP]=this._cache.tilemap,this._cacheMap[e.Cache.BINARY]=this._cache.binary,this._cacheMap[e.Cache.BITMAPDATA]=this._cache.bitmapData,this._cacheMap[e.Cache.BITMAPFONT]=this._cache.bitmapFont,this._cacheMap[e.Cache.JSON]=this._cache.json,this._cacheMap[e.Cache.XML]=this._cache.xml,this._cacheMap[e.Cache.VIDEO]=this._cache.video,this._cacheMap[e.Cache.SHADER]=this._cache.shader,this._cacheMap[e.Cache.RENDER_TEXTURE]=this._cache.renderTexture,this._pendingCount=0,this.onReady=new e.Signal,this._addImages()},e.Cache.CANVAS=1,e.Cache.IMAGE=2,e.Cache.TEXTURE=3,e.Cache.SOUND=4,e.Cache.TEXT=5,e.Cache.PHYSICS=6,e.Cache.TILEMAP=7,e.Cache.BINARY=8,e.Cache.BITMAPDATA=9,e.Cache.BITMAPFONT=10,e.Cache.JSON=11,e.Cache.XML=12,e.Cache.VIDEO=13,e.Cache.SHADER=14,e.Cache.RENDER_TEXTURE=15,e.Cache.DEFAULT=null,e.Cache.DEFAULT_KEY="__default",e.Cache.DEFAULT_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgAQMAAABJtOi3AAAAA1BMVEX///+nxBvIAAAAAXRSTlMAQObYZgAAABVJREFUeF7NwIEAAAAAgKD9qdeocAMAoAABm3DkcAAAAABJRU5ErkJggg==",e.Cache.MISSING=null,e.Cache.MISSING_KEY="__missing",e.Cache.MISSING_SRC="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAIAAAD8GO2jAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAJ9JREFUeNq01ssOwyAMRFG46v//Mt1ESmgh+DFmE2GPOBARKb2NVjo+17PXLD8a1+pl5+A+wSgFygymWYHBb0FtsKhJDdZlncG2IzJ4ayoMDv20wTmSMzClEgbWYNTAkQ0Z+OJ+A/eWnAaR9+oxCF4Os0H8htsMUp+pwcgBBiMNnAwF8GqIgL2hAzaGFFgZauDPKABmowZ4GL369/0rwACp2yA/ttmvsQAAAABJRU5ErkJggg==",e.Cache.READY_TIMEOUT=1e3,e.Cache.prototype={addCompressedTextureMetaData:function(t,i,s,n){this.checkImageKey(t)&&this.removeImage(t);var r=s in e.LoaderParser?e.LoaderParser[s](n):n,o={key:t,url:i,data:r,base:new PIXI.BaseTexture(r,null,this.game.resolution),frame:new e.Frame(0,0,0,r.width,r.height,t),frameData:new e.FrameData,fileFormat:s};return o.frameData.addFrame(new e.Frame(0,0,0,r.width,r.height,i)),this._cache.image[t]=o,this._resolveURL(i,o),o},addCanvas:function(t,e,i){void 0===i&&(i=e.getContext("2d")),this._cache.canvas[t]={canvas:e,context:i}},addImage:function(t,i,s){this.checkImageKey(t)&&this.removeImage(t),!1===s.complete&&console.warn('Phaser.Cache.addImage: Image "%s" is not complete',t);var n={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution),frame:new e.Frame(0,0,0,s.width,s.height,t),frameData:new e.FrameData};return n.frameData.addFrame(new e.Frame(0,0,0,s.width,s.height,i)),this._cache.image[t]=n,this._resolveURL(i,n),"__default"===t?e.Cache.DEFAULT=new PIXI.Texture(n.base):"__missing"===t&&(e.Cache.MISSING=new PIXI.Texture(n.base)),n},addImageAsync:function(t,e,i){var s=this,n=new Image;n.onload=function(){i.call(this,s.addImage(t,null,n)),s._removePending(),n.onload=null},this._addPending(),n.src=e},addDefaultImage:function(){this.addImageAsync(e.Cache.DEFAULT_KEY,e.Cache.DEFAULT_SRC,function(t){t.base.skipRender=!0,e.Cache.DEFAULT=new PIXI.Texture(t.base)})},addMissingImage:function(){this.addImageAsync(e.Cache.MISSING_KEY,e.Cache.MISSING_SRC,function(t){e.Cache.MISSING=new PIXI.Texture(t.base)})},addSound:function(t,e,i,s,n){void 0===s&&(s=!0,n=!1),void 0===n&&(s=!1,n=!0);var r=!1;n&&(r=!0),this._cache.sound[t]={url:e,data:i,isDecoding:!1,decoded:r,webAudio:s,audioTag:n,locked:this.game.sound.touchLocked},this._resolveURL(e,this._cache.sound[t])},addText:function(t,e,i){this._cache.text[t]={url:e,data:i},this._resolveURL(e,this._cache.text[t])},addPhysicsData:function(t,e,i,s){this._cache.physics[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.physics[t])},addTilemap:function(t,e,i,s){this._cache.tilemap[t]={url:e,data:i,format:s},this._resolveURL(e,this._cache.tilemap[t])},addBinary:function(t,e){this._cache.binary[t]=e},addBitmapData:function(t,i,s){return i.key=t,void 0===s&&(s=new e.FrameData).addFrame(i.textureFrame),this._cache.bitmapData[t]={data:i,frameData:s},i},addBitmapFont:function(t,i,s,n,r,o,a){var h={url:i,data:s,font:null,base:new PIXI.BaseTexture(s,null,this.game.resolution)};void 0===o&&(o=0),void 0===a&&(a=0),h.font="json"===r?e.LoaderParser.jsonBitmapFont(n,h.base,o,a,!1,this.game.resolution):e.LoaderParser.xmlBitmapFont(n,h.base,o,a,!1,this.game.resolution),this._cache.bitmapFont[t]=h,this._resolveURL(i,h)},addBitmapFontFromAtlas:function(t,i,s,n,r,o,a){var h=this.getFrameByName(i,s);if(h){var l={font:null,base:this.getBaseTexture(i),frame:h};void 0===o&&(o=0),void 0===a&&(a=0);var c;"json"===r?(c=this.getJSON(n),l.font=e.LoaderParser.jsonBitmapFont(c,l.base,o,a,h,this.game.resolution)):(c=this.getXML(n),l.font=e.LoaderParser.xmlBitmapFont(c,l.base,o,a,h,this.game.resolution)),this._cache.bitmapFont[t]=l}},addJSON:function(t,e,i){this._cache.json[t]={url:e,data:i},this._resolveURL(e,this._cache.json[t])},addXML:function(t,e,i){this._cache.xml[t]={url:e,data:i},this._resolveURL(e,this._cache.xml[t])},addVideo:function(t,e,i,s){this._cache.video[t]={url:e,data:i,isBlob:s,locked:!0},this._resolveURL(e,this._cache.video[t])},addShader:function(t,e,i){this._cache.shader[t]={url:e,data:i},this._resolveURL(e,this._cache.shader[t])},addRenderTexture:function(t,i){this._cache.renderTexture[t]={texture:i,frame:new e.Frame(0,0,0,i.width,i.height,"","")}},addSpriteSheet:function(t,i,s,n,r,o,a,h,l){void 0===o&&(o=-1),void 0===a&&(a=0),void 0===h&&(h=0);var c={key:t,url:i,data:s,frameWidth:n,frameHeight:r,margin:a,spacing:h,base:new PIXI.BaseTexture(s,null,this.game.resolution),frameData:e.AnimationParser.spriteSheet(this.game,s,n,r,o,a,h,l)};this._cache.image[t]=c,this._resolveURL(i,c)},addTextureAtlas:function(t,i,s,n,r){var o={key:t,url:i,data:s,base:new PIXI.BaseTexture(s,null,this.game.resolution)};r===e.Loader.TEXTURE_ATLAS_XML_STARLING?o.frameData=e.AnimationParser.XMLData(this.game,n,t):r===e.Loader.TEXTURE_ATLAS_JSON_PYXEL?o.frameData=e.AnimationParser.JSONDataPyxel(this.game,n,t):Array.isArray(n.frames)?o.frameData=e.AnimationParser.JSONData(this.game,n,t):o.frameData=e.AnimationParser.JSONDataHash(this.game,n,t),this._cache.image[t]=o,this._resolveURL(i,o)},reloadSound:function(t){var e=this,i=this.getSound(t);i&&(i.data.src=i.url,i.data.addEventListener("canplaythrough",function(){return e.reloadSoundComplete(t)},!1),i.data.load())},reloadSoundComplete:function(t){var e=this.getSound(t);e&&(e.locked=!1,this.onSoundUnlock.dispatch(t))},updateSound:function(t,e,i){var s=this.getSound(t);s&&(s[e]=i)},decodedSound:function(t,e){var i=this.getSound(t);i.data=e,i.decoded=!0,i.isDecoding=!1},isSoundDecoded:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded},isSoundReady:function(t){var i=this.getItem(t,e.Cache.SOUND,"isSoundDecoded");if(i)return i.decoded&&!this.game.sound.touchLocked},checkKey:function(t,e){return!!this._cacheMap[t][e]},checkURL:function(t){return!!this._urlMap[this._resolveURL(t)]},checkCanvasKey:function(t){return this.checkKey(e.Cache.CANVAS,t)},checkImageKey:function(t){return this.checkKey(e.Cache.IMAGE,t)},checkTextureKey:function(t){return this.checkKey(e.Cache.TEXTURE,t)},checkSoundKey:function(t){return this.checkKey(e.Cache.SOUND,t)},checkTextKey:function(t){return this.checkKey(e.Cache.TEXT,t)},checkPhysicsKey:function(t){return this.checkKey(e.Cache.PHYSICS,t)},checkTilemapKey:function(t){return this.checkKey(e.Cache.TILEMAP,t)},checkBinaryKey:function(t){return this.checkKey(e.Cache.BINARY,t)},checkBitmapDataKey:function(t){return this.checkKey(e.Cache.BITMAPDATA,t)},checkBitmapFontKey:function(t){return this.checkKey(e.Cache.BITMAPFONT,t)},checkJSONKey:function(t){return this.checkKey(e.Cache.JSON,t)},checkXMLKey:function(t){return this.checkKey(e.Cache.XML,t)},checkVideoKey:function(t){return this.checkKey(e.Cache.VIDEO,t)},checkShaderKey:function(t){return this.checkKey(e.Cache.SHADER,t)},checkRenderTextureKey:function(t){return this.checkKey(e.Cache.RENDER_TEXTURE,t)},getItem:function(t,e,i,s){return this.checkKey(e,t)?void 0===s?this._cacheMap[e][t]:this._cacheMap[e][t][s]:(i&&console.warn("Phaser.Cache."+i+': Key "'+t+'" not found in Cache.'),null)},getCanvas:function(t){return this.getItem(t,e.Cache.CANVAS,"getCanvas","canvas")},getImage:function(t,i){void 0!==t&&null!==t||(t="__default"),void 0===i&&(i=!1);var s=this.getItem(t,e.Cache.IMAGE,"getImage");return null===s&&(s=this.getItem("__missing",e.Cache.IMAGE,"getImage")),i?s:s.data},getTextureFrame:function(t){return this.getItem(t,e.Cache.TEXTURE,"getTextureFrame","frame")},getSound:function(t){return this.getItem(t,e.Cache.SOUND,"getSound")},getSoundData:function(t){return this.getItem(t,e.Cache.SOUND,"getSoundData","data")},getText:function(t){return this.getItem(t,e.Cache.TEXT,"getText","data")},getPhysicsData:function(t,i,s){var n=this.getItem(t,e.Cache.PHYSICS,"getPhysicsData","data");if(null===n||void 0===i||null===i)return n;if(n[i]){var r=n[i];if(!r||!s)return r;for(var o in r)if((o=r[o]).fixtureKey===s)return o;console.warn('Phaser.Cache.getPhysicsData: Could not find given fixtureKey: "'+s+" in "+t+'"')}else console.warn('Phaser.Cache.getPhysicsData: Invalid key/object: "'+t+" / "+i+'"');return null},getTilemapData:function(t){return this.getItem(t,e.Cache.TILEMAP,"getTilemapData")},getBinary:function(t){return this.getItem(t,e.Cache.BINARY,"getBinary")},getBitmapData:function(t){return this.getItem(t,e.Cache.BITMAPDATA,"getBitmapData","data")},getBitmapFont:function(t){return this.getItem(t,e.Cache.BITMAPFONT,"getBitmapFont")},getJSON:function(t,i){var s=this.getItem(t,e.Cache.JSON,"getJSON","data");return s?i?e.Utils.extend(!0,Array.isArray(s)?[]:{},s):s:null},getXML:function(t){return this.getItem(t,e.Cache.XML,"getXML","data")},getVideo:function(t){return this.getItem(t,e.Cache.VIDEO,"getVideo")},getShader:function(t){return this.getItem(t,e.Cache.SHADER,"getShader","data")},getRenderTexture:function(t){return this.getItem(t,e.Cache.RENDER_TEXTURE,"getRenderTexture")},getBaseTexture:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getBaseTexture","base")},getFrame:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrame","frame")},getFrameCount:function(t,e){var i=this.getFrameData(t,e);return i?i.total:0},getFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),this.getItem(t,i,"getFrameData","frameData")},hasFrameData:function(t,i){return void 0===i&&(i=e.Cache.IMAGE),null!==this.getItem(t,i,"","frameData")},updateFrameData:function(t,i,s){void 0===s&&(s=e.Cache.IMAGE),this._cacheMap[s][t]&&(this._cacheMap[s][t].frameData=i)},getFrameByIndex:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrame(e):null},getFrameByName:function(t,e,i){var s=this.getFrameData(t,i);return s?s.getFrameByName(e):null},getURL:function(t){return(t=this._resolveURL(t))?this._urlMap[t]:(console.warn('Phaser.Cache.getUrl: Invalid url: "'+t+'" or Cache.autoResolveURL was false'),null)},getKeys:function(t){void 0===t&&(t=e.Cache.IMAGE);var i=[];if(this._cacheMap[t])for(var s in this._cacheMap[t])"__default"!==s&&"__missing"!==s&&i.push(s);return i},removeCanvas:function(t){delete this._cache.canvas[t]},removeImage:function(t,e){void 0===e&&(e=!0);var i=this.getImage(t,!0);e&&i.base&&i.base.destroy(),delete this._cache.image[t]},removeSound:function(t){delete this._cache.sound[t]},removeText:function(t){delete this._cache.text[t]},removePhysics:function(t){delete this._cache.physics[t]},removeTilemap:function(t){delete this._cache.tilemap[t]},removeBinary:function(t){delete this._cache.binary[t]},removeBitmapData:function(t){delete this._cache.bitmapData[t]},removeBitmapFont:function(t){delete this._cache.bitmapFont[t]},removeJSON:function(t){delete this._cache.json[t]},removeXML:function(t){delete this._cache.xml[t]},removeVideo:function(t){delete this._cache.video[t]},removeShader:function(t){delete this._cache.shader[t]},removeRenderTexture:function(t){delete this._cache.renderTexture[t]},removeSpriteSheet:function(t){delete this._cache.spriteSheet[t]},removeTextureAtlas:function(t){delete this._cache.image[t]},clearGLTextures:function(){for(var t in this._cache.image)this._cache.image[t].base._glTextures=[]},_resolveURL:function(t,e){return this.autoResolveURL?(this._urlResolver.src=this.game.load.baseURL+t,this._urlTemp=this._urlResolver.src,this._urlResolver.src="",e&&(this._urlMap[this._urlTemp]=e),this._urlTemp):null},destroy:function(){for(var t=0;t0?setTimeout(function(){t.isReady||(console.warn("Phaser.Cache: Still waiting for images after %s ms.",i),t._ready())},e.Cache.READY_TIMEOUT):this._ready()},_addPending:function(){this._pendingCount+=1},_removePending:function(){this._pendingCount-=1,this._checkReady()},_checkReady:function(){this.isReady&&this._ready()},_ready:function(){this._pendingCount=0,this.onReady.dispatch(this)}},e.Cache.prototype.constructor=e.Cache,Object.defineProperty(e.Cache.prototype,"isReady",{get:function(){return this._pendingCount<=0}}),e.Loader=function(t){this.game=t,this.cache=t.cache,this.resetLocked=!1,this.isLoading=!1,this.hasLoaded=!1,this.preloadSprite=null,this.crossOrigin=!1,this.baseURL="",this.path="",this.headers={requestedWith:!1,json:"application/json",xml:"application/xml"},this.onLoadStart=new e.Signal,this.onBeforeLoadComplete=new e.Signal,this.onLoadComplete=new e.Signal,this.onPackComplete=new e.Signal,this.onFileStart=new e.Signal,this.onFileComplete=new e.Signal,this.onFileError=new e.Signal,this.enableParallel=!0,this.maxParallelDownloads=4,this._withSyncPointDepth=0,this._fileList=[],this._flightQueue=[],this._processingHead=0,this._fileLoadStarted=!1,this._totalPackCount=0,this._totalFileCount=0,this._loadedPackCount=0,this._loadedFileCount=0},e.Loader.TEXTURE_ATLAS_JSON_ARRAY=0,e.Loader.TEXTURE_ATLAS_JSON_HASH=1,e.Loader.TEXTURE_ATLAS_XML_STARLING=2,e.Loader.PHYSICS_LIME_CORONA_JSON=3,e.Loader.PHYSICS_PHASER_JSON=4,e.Loader.TEXTURE_ATLAS_JSON_PYXEL=5,e.Loader.prototype={setPreloadSprite:function(t,i){i=i||0,this.preloadSprite={sprite:t,direction:i,width:t.width,height:t.height,rect:null},this.preloadSprite.rect=0===i?new e.Rectangle(0,0,1,t.height):new e.Rectangle(0,0,t.width,1),t.crop(this.preloadSprite.rect),t.visible=!0},resize:function(){this.preloadSprite&&this.preloadSprite.height!==this.preloadSprite.sprite.height&&(this.preloadSprite.rect.height=this.preloadSprite.sprite.height)},checkKeyExists:function(t,e){return this.getAssetIndex(t,e)>-1},getAssetIndex:function(t,e){for(var i=-1,s=0;s-1&&{index:i,file:this._fileList[i]}},reset:function(t,e){void 0===e&&(e=!1),this.resetLocked||(t&&(this.preloadSprite=null),this.isLoading=!1,this._processingHead=0,this._fileList.length=0,this._flightQueue.length=0,this._fileLoadStarted=!1,this._totalFileCount=0,this._totalPackCount=0,this._loadedPackCount=0,this._loadedFileCount=0,e&&(this.onLoadStart.removeAll(),this.onLoadComplete.removeAll(),this.onPackComplete.removeAll(),this.onFileStart.removeAll(),this.onFileComplete.removeAll(),this.onFileError.removeAll()))},addToFileList:function(t,e,i,s,n,r){if(void 0===n&&(n=!1),void 0===e||""===e)return console.warn("Phaser.Loader: Invalid or no key given of type "+t),this;if(void 0===i||null===i){if(!r)return console.warn("Phaser.Loader: No URL given for file type: "+t+" key: "+e),this;i=e+r}var o={type:t,key:e,path:this.path,url:i,syncPoint:this._withSyncPointDepth>0,data:null,loading:!1,loaded:!1,error:!1};if(s)for(var a in s)o[a]=s[a];var h=this.getAssetIndex(t,e);if(n&&h>-1){var l=this._fileList[h];l.loading||l.loaded?(this._fileList.push(o),this._totalFileCount++):this._fileList[h]=o}else-1===h&&(this._fileList.push(o),this._totalFileCount++);return this},replaceInFileList:function(t,e,i,s){return this.addToFileList(t,e,i,s,!0)},pack:function(t,e,i,s){if(void 0===e&&(e=null),void 0===i&&(i=null),void 0===s&&(s=null),!e&&!i)return console.warn("Phaser.Loader.pack - Both url and data are null. One must be set."),this;var n={type:"packfile",key:t,url:e,path:this.path,syncPoint:!0,data:null,loading:!1,loaded:!1,error:!1,callbackContext:s};i&&("string"==typeof i&&(i=JSON.parse(i)),n.data=i||{},n.loaded=!0);for(var r=0;r=e||t&&this._loadedPackCount===this._totalPackCount)break}if(this.updateProgress(),this._processingHead>=this._fileList.length)this.finishedLoading();else if(!this._flightQueue.length){console.warn("Phaser.Loader - aborting: processing queue empty, loading may have stalled");var n=this;setTimeout(function(){n.finishedLoading(!0)},2e3)}},finishedLoading:function(t){this.hasLoaded||(this.hasLoaded=!0,this.isLoading=!1,t||this._fileLoadStarted||(this._fileLoadStarted=!0,this.onLoadStart.dispatch()),this.game.state.loadUpdate(),this.onBeforeLoadComplete.dispatch(),this.reset(),this.onLoadComplete.dispatch(),this.game.state&&this.game.state.loadComplete())},asyncComplete:function(t,e){void 0===e&&(e=""),t.loaded=!0,t.error=!!e,e&&(t.errorMessage=e,console.warn("Phaser.Loader - "+t.type+"["+t.key+"]: "+e)),this.processLoadQueue()},processPack:function(t){var i=t.data[t.key];if(i)for(var s=0;s=400&&r.status<=599?n.call(o,t,r):s.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},r.onerror=function(){try{return n.call(o,t,r)}catch(e){o.hasLoaded?window.console&&console.error(e):o.asyncComplete(t,e.message||"Exception")}},t.requestObject=r,t.requestUrl=e,r.send()},getVideoURL:function(t){for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayVideo(i))return t[e]}}return null},getAudioURL:function(t){if(this.game.sound.noAudio)return null;for(var e=0;e=0&&(s=s.substr(0,s.indexOf("?"))),i=s.substr((Math.max(0,s.lastIndexOf("."))||1/0)+1).toLowerCase(),this.game.device.canPlayAudio(i))return t[e]}}return null},fileError:function(t,e,i){var s="error loading asset from URL "+(t.requestUrl||this.transformUrl(t.url,t));!i&&e&&(i=e.status),i&&(s=s+" ("+i+")"),this.asyncComplete(t,s)},fileComplete:function(t,i){var s=!0;switch(t.type){case"packfile":r=JSON.parse(i.responseText);t.data=r||{};break;case"texture":var n=/\.([^.]+)$/.exec(t.url.split("?",1)[0])[1].toLowerCase();null!==t.data?this.cache.addCompressedTextureMetaData(t.key,t.url,n,t.data):this.cache.addCompressedTextureMetaData(t.key,t.url,n,i.response);break;case"image":this.cache.addImage(t.key,t.url,t.data);break;case"spritesheet":this.cache.addSpriteSheet(t.key,t.url,t.data,t.frameWidth,t.frameHeight,t.frameMax,t.margin,t.spacing,t.skipFrames);break;case"textureatlas":if(null==t.atlasURL)this.cache.addTextureAtlas(t.key,t.url,t.data,t.atlasData,t.format);else if(s=!1,t.format===e.Loader.TEXTURE_ATLAS_JSON_ARRAY||t.format===e.Loader.TEXTURE_ATLAS_JSON_HASH||t.format===e.Loader.TEXTURE_ATLAS_JSON_PYXEL)this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.jsonLoadComplete);else{if(t.format!==e.Loader.TEXTURE_ATLAS_XML_STARLING)throw new Error("Phaser.Loader. Invalid Texture Atlas format: "+t.format);this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",this.xmlLoadComplete)}break;case"bitmapfont":t.atlasURL?(s=!1,this.xhrLoad(t,this.transformUrl(t.atlasURL,t),"text",function(t,e){var i;try{i=JSON.parse(e.responseText)}catch(t){}i?(t.atlasType="json",this.jsonLoadComplete(t,e)):(t.atlasType="xml",this.xmlLoadComplete(t,e))})):this.cache.addBitmapFont(t.key,t.url,t.data,t.atlasData,t.atlasType,t.xSpacing,t.ySpacing);break;case"video":if(t.asBlob)try{t.data=i.response}catch(e){throw new Error("Phaser.Loader. Unable to parse video file as Blob: "+t.key)}this.cache.addVideo(t.key,t.url,t.data,t.asBlob);break;case"audio":this.game.sound.usingWebAudio?(t.data=i.response,this.cache.addSound(t.key,t.url,t.data,!0,!1),t.autoDecode&&this.game.sound.decode(t.key)):this.cache.addSound(t.key,t.url,t.data,!1,!0);break;case"text":t.data=i.responseText,this.cache.addText(t.key,t.url,t.data);break;case"shader":t.data=i.responseText,this.cache.addShader(t.key,t.url,t.data);break;case"physics":var r=JSON.parse(i.responseText);this.cache.addPhysicsData(t.key,t.url,r,t.format);break;case"script":t.data=document.createElement("script"),t.data.language="javascript",t.data.type="text/javascript",t.data.defer=!1,t.data.text=i.responseText,document.head.appendChild(t.data),t.callback&&(t.data=t.callback.call(t.callbackContext,t.key,i.responseText));break;case"binary":t.callback?t.data=t.callback.call(t.callbackContext,t.key,i.response):t.data=i.response,this.cache.addBinary(t.key,t.data)}s&&this.asyncComplete(t)},jsonLoadComplete:function(t,e){var i=JSON.parse(e.responseText);"tilemap"===t.type?this.cache.addTilemap(t.key,t.url,i,t.format):"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,i,t.atlasType,t.xSpacing,t.ySpacing):"json"===t.type?this.cache.addJSON(t.key,t.url,i):this.cache.addTextureAtlas(t.key,t.url,t.data,i,t.format),this.asyncComplete(t)},csvLoadComplete:function(t,e){var i=e.responseText;this.cache.addTilemap(t.key,t.url,i,t.format),this.asyncComplete(t)},xmlLoadComplete:function(t,e){var i=e.responseText,s=this.parseXml(i);if(!s){var n=e.responseType||e.contentType;return console.warn("Phaser.Loader - "+t.key+": invalid XML ("+n+")"),void this.asyncComplete(t,"invalid XML")}"bitmapfont"===t.type?this.cache.addBitmapFont(t.key,t.url,t.data,s,t.atlasType,t.xSpacing,t.ySpacing):"textureatlas"===t.type?this.cache.addTextureAtlas(t.key,t.url,t.data,s,t.format):"xml"===t.type&&this.cache.addXML(t.key,t.url,s),this.asyncComplete(t)},parseXml:function(t){var e;try{if(window.DOMParser){var i=new DOMParser;e=i.parseFromString(t,"text/xml")}else(e=new ActiveXObject("Microsoft.XMLDOM")).async="false",e.loadXML(t)}catch(t){e=null}return e&&e.documentElement&&!e.getElementsByTagName("parsererror").length?e:null},updateProgress:function(){this.preloadSprite&&(0===this.preloadSprite.direction?this.preloadSprite.rect.width=Math.floor(this.preloadSprite.width/100*this.progress):this.preloadSprite.rect.height=Math.floor(this.preloadSprite.height/100*this.progress),this.preloadSprite.sprite?this.preloadSprite.sprite.updateCrop():this.preloadSprite=null)},totalLoadedFiles:function(){return this._loadedFileCount},totalQueuedFiles:function(){return this._totalFileCount-this._loadedFileCount},totalLoadedPacks:function(){return this._totalPackCount},totalQueuedPacks:function(){return this._totalPackCount-this._loadedPackCount}},Object.defineProperty(e.Loader.prototype,"progressFloat",{get:function(){var t=this._loadedFileCount/this._totalFileCount*100;return e.Math.clamp(t||0,0,100)}}),Object.defineProperty(e.Loader.prototype,"progress",{get:function(){return Math.round(this.progressFloat)}}),e.Loader.prototype.constructor=e.Loader,e.LoaderParser={bitmapFont:function(t,e,i,s,n,r){return this.xmlBitmapFont(t,e,i,s,n,r)},xmlBitmapFont:function(t,e,i,s,n,r){null==r&&(r=1);var o={},a=t.getElementsByTagName("info")[0],h=t.getElementsByTagName("common")[0];o.font=a.getAttribute("face"),o.size=parseInt(a.getAttribute("size"),10),o.lineHeight=parseInt(h.getAttribute("lineHeight"),10)+s,o.chars={};for(var l=t.getElementsByTagName("char"),c=n?n.x:0,u=n?n.y:0,d=0;dn.spriteSourceSizeX+n.spriteSourceSizeW&&(f.width-=f.x+f.width-n.spriteSourceSizeX-n.spriteSourceSizeW),f.y+f.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(f.height-=f.y+f.height-n.spriteSourceSizeY-n.spriteSourceSizeH),f.xn.spriteSourceSizeX+n.spriteSourceSizeW&&(s.width-=s.x+s.width-n.spriteSourceSizeX-n.spriteSourceSizeW),s.y+s.height>n.spriteSourceSizeY+n.spriteSourceSizeH&&(s.height-=s.y+s.height-n.spriteSourceSizeY-n.spriteSourceSizeH),s.x=0){switch(r>=0&&r<=3?e="PVRTC":r>=7&&r<=11?e="S3TC":6===r&&(e="ETC1"),r){case 0:o=35841;break;case 1:o=35843;break;case 2:o=35840;break;case 3:o=35842;break;case 6:o=36196;break;case 7:o=33777;break;case 9:o=33778;break;case 11:o=33779;break;default:o=-1}n={complete:!0,fileFormat:"PVR",compressionAlgorithm:e,flags:i[1],pixelFormat:r,colorSpace:i[4],channelType:i[5],height:i[6],width:i[7],depth:i[8],numberOfSurfaces:i[9],numberOfFaces:i[10],numberOfMipmaps:i[11],metaDataSize:i[12],textureData:s.subarray(52+i[12],s.byteLength),glExtensionFormat:o}}return n},dds:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null;return 68===e[0]&&68===e[1]&&83===e[2]&&32===e[3]&&("DX10"===(s={complete:!0,fileFormat:"DDS",compressionAlgorithm:"S3TC",size:i[1],flags:i[2],height:i[3],width:i[4],pitch:i[5],depth:i[6],mipmapCount:i[7],formatSize:i[19],formatFlag:i[19],formatFourCC:[String.fromCharCode(e[84]),String.fromCharCode(e[85]),String.fromCharCode(e[86]),String.fromCharCode(e[87])].join(""),formatBitCount:i[21],formatRBitMask:i[22],formatGBitMask:i[23],formatBBitMask:i[24],formatABitMask:i[25],caps1:i[26],caps2:i[27],caps3:i[28],caps4:i[29],reserved2:i[30],DXGIFormat:null,resourceDimension:null,miscFlag:null,arraySize:null,textureData:e.subarray(i[1]+4,e.byteLength)}).formatFourCC?(s.DXGIFormat=i[31],s.resourceDimension=i[32],s.miscFlag=i[33],s.arraySize=i[34],s.miscFlag=i[35]):"DXT5"===s.formatFourCC?s.glExtensionFormat=33779:"DXT3"===s.formatFourCC&&(s.glExtensionFormat=33778)),s},ktx:function(t){var e=new Uint8Array(t),i=new Uint32Array(t),s=null,n=16+i[15]/4|0,r=i[n],o=i[7],a=0;if(171===e[0]&&75===e[1]&&84===e[2]&&88===e[3]&&32===e[4]&&49===e[5]&&49===e[6]&&187===e[7]&&13===e[8]&&10===e[9]&&26===e[10]&&10===e[11]&&[36196,35840,35841,35842,35843,33776,33777,33778,33779].indexOf(o)>=0){switch(o){case 36196:a="ETC1";break;case 35840:case 35841:case 35842:case 35843:a="PVRTC";break;case 33776:case 33777:case 33778:case 33779:a="S3TC"}s={complete:!0,fileFormat:"KTX",compressionAlgorithm:a,endianness:i[3],glType:i[4],glTypeSize:i[5],glFormat:i[6],glInternalFormat:i[7],glBaseInternalFormat:i[8],width:i[9],height:i[10],pixelDepth:i[11],numberOfArrayElements:i[12],numberOfFaces:i[13],numberOfMipmapLevels:i[14],bytesOfKeyValueData:i[15],keyAndValueByteSize:i[16],imageSize:r,textureData:e.subarray(4*(n+1),r+100)}}return s},pkm:function(t){var e=new Uint8Array(t),i=null;return 80===e[0]&&75===e[1]&&77===e[2]&&32===e[3]&&(i={complete:!0,fileFormat:"PKM",compressionAlgorithm:"ETC1",format:65535&(e[6]<<8|e[7]),width:65535&(e[8]<<8|e[9]),height:65535&(e[10]<<8|e[11]),originalWidth:65535&(e[12]<<8|e[13]),originalHeight:65535&(e[14]<<8|e[15]),textureData:e.subarray(16,e.length)}),i}},e.AudioSprite=function(t,e){this.game=t,this.key=e,this.config=this.game.cache.getJSON(e+"-audioatlas"),this.autoplayKey=null,this.autoplay=!1,this.sounds={};for(var i in this.config.spritemap){var s=this.config.spritemap[i],n=this.game.add.sound(this.key);n.addMarker(i,s.start,s.end-s.start,null,s.loop),this.sounds[i]=n}this.config.autoplay&&(this.autoplayKey=this.config.autoplay,this.play(this.autoplayKey),this.autoplay=this.sounds[this.autoplayKey])},e.AudioSprite.prototype={play:function(t,e){return void 0===e&&(e=1),this.sounds[t].play(t,null,e)},stop:function(t){if(t)this.sounds[t].stop();else for(var e in this.sounds)this.sounds[e].stop()},get:function(t){return this.sounds[t]}},e.AudioSprite.prototype.constructor=e.AudioSprite,e.Sound=function(t,i,s,n,r){void 0===s&&(s=1),void 0===n&&(n=!1),void 0===r&&(r=t.sound.connectToMaster),this.game=t,this.name=i,this.key=i,this.loop=n,this.markers={},this.context=null,this.autoplay=!1,this.totalDuration=0,this.startTime=0,this.currentTime=0,this.duration=0,this.durationMS=0,this.position=0,this.stopTime=0,this.paused=!1,this.pausedPosition=0,this.pausedTime=0,this.isPlaying=!1,this.currentMarker="",this.fadeTween=null,this.pendingPlayback=!1,this.override=!1,this.allowMultiple=!1,this.playOnce=!1,this.usingWebAudio=this.game.sound.usingWebAudio,this.usingAudioTag=this.game.sound.usingAudioTag,this.externalNode=null,this.masterGainNode=null,this.gainNode=null,this._sound=null,this._globalVolume=1,this._markedToDelete=!1,this._pendingStart=!1,this._removeFromSoundManager=!1,this._sourceId=0,this.usingWebAudio?(this.context=this.game.sound.context,this.masterGainNode=this.game.sound.masterGain,void 0===this.context.createGain?this.gainNode=this.context.createGainNode():this.gainNode=this.context.createGain(),this.gainNode.gain.value=s,r&&this.gainNode.connect(this.masterGainNode)):this.usingAudioTag&&(this.game.cache.getSound(i)&&this.game.cache.isSoundReady(i)?(this._sound=this.game.cache.getSoundData(i),this.totalDuration=0,this._sound.duration&&(this.totalDuration=this._sound.duration)):this.game.cache.onSoundUnlock.add(this.soundHasUnlocked,this)),this.onDecoded=new e.Signal,this.onPlay=new e.Signal,this.onPause=new e.Signal,this.onResume=new e.Signal,this.onLoop=new e.Signal,this.onStop=new e.Signal,this.onMute=new e.Signal,this.onMarkerComplete=new e.Signal,this.onFadeComplete=new e.Signal,this._volume=s,this._buffer=null,this._muted=!1,this._tempMarker=0,this._tempPosition=0,this._tempVolume=0,this._tempPause=0,this._muteVolume=0,this._tempLoop=0,this._paused=!1,this._onDecodedEventDispatched=!1},e.Sound.prototype={soundHasUnlocked:function(t){t===this.key&&(this._sound=this.game.cache.getSoundData(this.key),this.totalDuration=this._sound.duration)},addMarker:function(t,e,i,s,n){void 0!==i&&null!==i||(i=1),void 0!==s&&null!==s||(s=1),void 0===n&&(n=!1),this.markers[t]={name:t,start:e,stop:e+i,volume:s,duration:i,durationMS:1e3*i,loop:n}},removeMarker:function(t){delete this.markers[t]},onEndedHandler:function(){this._removeOnEndedHandler(),this.isPlaying=!1,this.currentTime=this.durationMS,this.stop(),this.playOnce&&(this._markedToDelete=!0,this._removeFromSoundManager=!0),this._markedToDelete&&(this._disconnectSource(),this._removeFromSoundManager?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose()))},update:function(){if(this.game.cache.checkSoundKey(this.key)){this.isDecoded&&!this._onDecodedEventDispatched&&(this.onDecoded.dispatch(this),this._onDecodedEventDispatched=!0),this.pendingPlayback&&this.game.cache.isSoundReady(this.key)&&(this.pendingPlayback=!1,this.play(this._tempMarker,this._tempPosition,this._tempVolume,this._tempLoop));var t=this.game.time.time;if(this.isPlaying){if(this._pendingStart){var e=this._sound.currentTime;if(!(e>((this.paused?this._tempPause:0)||this.position||0)))return;this._pendingStart=!1,this.startTime=t-1e3*e,this.stopTime=this.startTime+this.durationMS}this.currentTime=t-this.startTime,this.currentTime>=this.durationMS&&(this.usingWebAudio?this.loop?(this.onLoop.dispatch(this),this.isPlaying=!1,""===this.currentMarker?(this.currentTime=0,this.startTime=t,this.isPlaying=!0):(this.onMarkerComplete.dispatch(this.currentMarker,this),this.play(this.currentMarker,0,this.volume,!0,!0,!1))):""!==this.currentMarker&&this.stop():this.loop?(this.onLoop.dispatch(this),""===this.currentMarker&&(this.currentTime=0,this.startTime=t),this.isPlaying=!1,this.play(this.currentMarker,0,this.volume,!0,!0,!1)):this.stop())}}else this.destroy()},loopFull:function(t){return this.play(null,0,t,!0)},play:function(t,e,i,s,n,r){if(void 0!==t&&!1!==t&&null!==t||(t=""),void 0===n&&(n=!0),void 0===r&&(r=!0),this.isPlaying&&!this.allowMultiple&&!n&&!this.override)return this;if(this._sound&&this.isPlaying&&!this.allowMultiple&&(this.override||n)&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0),this.isPlaying=!1),""===t&&Object.keys(this.markers).length>0)return this;if(""!==t){if(!this.markers[t])return console.warn("Phaser.Sound.play: audio marker "+t+" doesn't exist"),this;this.currentMarker=t,this.position=this.markers[t].start,this.volume=this.markers[t].volume,this.loop=this.markers[t].loop,this.duration=this.markers[t].duration,this.durationMS=this.markers[t].durationMS,void 0!==i&&(this.volume=i),void 0!==s&&(this.loop=s),this._tempMarker=t,this._tempPosition=this.position,this._tempVolume=this.volume,this._tempLoop=this.loop}else e=e||0,void 0===i&&(i=this._volume),void 0===s&&(s=this.loop),this.position=Math.max(0,e),this.volume=i,this.loop=s,this.duration=0,this.durationMS=0,this._tempMarker=t,this._tempPosition=e,this._tempVolume=i,this._tempLoop=s;return this.usingWebAudio?this.game.cache.isSoundDecoded(this.key)?(this._createSourceAndConnect(),this.loop&&""===t&&(this._sound.loop=!0),this.loop||""!==t||this._addOnEndedHandler(),this.totalDuration=this._sound.buffer.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=Math.ceil(1e3*this.totalDuration)),this.loop&&""===t?this._startSource(0,0):this._startSource(0,this.position,this.duration),this.isPlaying=!0,this.paused=!1,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):(this.pendingPlayback=!0,this.game.cache.getSound(this.key)&&!1===this.game.cache.getSound(this.key).isDecoding&&this.game.sound.decode(this.key,this)):this.game.cache.getSound(this.key)&&this.game.cache.getSound(this.key).locked?(this.game.cache.reloadSound(this.key),this.pendingPlayback=!0):this._sound&&(this.game.device.cocoonJS||4===this._sound.readyState)?(this._sound.play(),this._sound.loop=this.loop,this.totalDuration=this._sound.duration,0===this.duration&&(this.duration=this.totalDuration,this.durationMS=1e3*this.totalDuration),this._globalVolume=this.game.sound.volume,this._sound.currentTime=this.position,this._sound.muted=this._muted,this._muted||this.game.sound.mute?this._sound.volume=0:this._sound.volume=this._volume*this._globalVolume,this._pendingStart=!this.currentMarker,this.isPlaying=!0,this.paused=!1,this._tempPause=0,this.startTime=this.game.time.time,this.currentTime=0,this.stopTime=this.startTime+this.durationMS,r&&this.onPlay.dispatch(this)):this.pendingPlayback=!0,this.playOnce&&(this.loop&&console.warn("Phaser.Sound.play: audio clip "+this.name+" cannot be deleted while looping."),this._markedToDelete=!0,this._removeFromSoundManager=!0),this},restart:function(t,e,i,s){t=t||"",e=e||0,i=i||1,void 0===s&&(s=!1),this.play(t,e,i,s,!0)},pause:function(){this.isPlaying&&(this.paused=!0,this.pausedPosition=this.currentTime,this.pausedTime=this.game.time.time,this._tempPause=this._sound.currentTime,this.onPause.dispatch(this),this.stop())},resume:function(){if(this.paused){if(this.usingWebAudio){var t=Math.max(0,this.position+this.pausedPosition/1e3);this._createSourceAndConnect(),""===this.currentMarker&&(this.loop?this._sound.loop=!0:this._addOnEndedHandler());var e=this.duration-this.pausedPosition/1e3;this.loop&&""===this.currentMarker?this._startSource(0,t):this._startSource(0,t,e)}else this._pendingStart=!this.currentMarker,this._sound.currentTime=this._tempPause,this._tempPause=0,this._sound.play();this.isPlaying=!0,this.paused=!1,this.startTime+=this.game.time.time-this.pausedTime,this.onResume.dispatch(this)}},stop:function(){if(this.isPlaying&&this._sound&&(this.usingWebAudio?this._stopSourceAndDisconnect():this.usingAudioTag&&(this._sound.pause(),this._sound.currentTime=0)),this.pendingPlayback=!1,this.isPlaying=!1,!this.paused){var t=this.currentMarker;""!==this.currentMarker&&this.onMarkerComplete.dispatch(this.currentMarker,this),this.currentMarker="",null!==this.fadeTween&&this.fadeTween.stop(),this.onStop.dispatch(this,t)}},fadeIn:function(t,e,i){void 0===e&&(e=!1),void 0===i&&(i=this.currentMarker),this.paused||(this.play(i,0,0,e),this.fadeTo(t,1))},fadeOut:function(t){this.fadeTo(t,0)},fadeTo:function(t,i){this.isPlaying&&!this.paused&&i!==this.volume&&(void 0===t&&(t=1e3),void 0!==i?(this.fadeTween=this.game.add.tween(this).to({volume:i},t,e.Easing.Linear.None,!0),this.fadeTween.onComplete.add(this.fadeComplete,this)):console.warn("Phaser.Sound.fadeTo: No Volume Specified."))},fadeComplete:function(){this.onFadeComplete.dispatch(this,this.volume),0===this.volume&&this.stop()},updateGlobalVolume:function(t){this.usingAudioTag&&this._sound&&(this._globalVolume=t,this._sound.volume=this._globalVolume*this._volume)},destroy:function(t){void 0===t&&(t=!0),this._markedToDelete=!0,this._removeFromSoundManager=t,this.stop(),t?this.game.sound.remove(this):(this.markers={},this.context=null,this._buffer=null,this.externalNode=null,this.onDecoded.dispose(),this.onPlay.dispose(),this.onPause.dispose(),this.onResume.dispose(),this.onLoop.dispose(),this.onStop.dispose(),this.onMute.dispose(),this.onMarkerComplete.dispose())},_createSourceAndConnect:function(){this._sound=this.context.createBufferSource(),this._sound.connect(this.externalNode||this.gainNode),this._buffer=this.game.cache.getSoundData(this.key),this._sound.buffer=this._buffer,this._sourceId++},_disconnectSource:function(){this._sound.disconnect(this.externalNode||this.gainNode)},_startSource:function(t,e,i){void 0===i?this._sound.start(t||0,e||0):this._sound.start(t||0,e||0,i)},_stopSourceAndDisconnect:function(){this._removeOnEndedHandler();try{this._sound.stop(0)}catch(t){}this._disconnectSource(),this._sound=null},_addOnEndedHandler:function(){this._sound.onended=this.onEndedHandler.bind(this)},_removeOnEndedHandler:function(){this._sound.onended=null}},e.Sound.prototype.constructor=e.Sound,Object.defineProperty(e.Sound.prototype,"isDecoding",{get:function(){return this.game.cache.getSound(this.key).isDecoding}}),Object.defineProperty(e.Sound.prototype,"isDecoded",{get:function(){return this.game.cache.isSoundDecoded(this.key)}}),Object.defineProperty(e.Sound.prototype,"mute",{get:function(){return this._muted||this.game.sound.mute},set:function(t){(t=t||!1)!==this._muted&&(t?(this._muted=!0,this._muteVolume=this._tempVolume,this.usingWebAudio?this.gainNode.gain.value=0:this.usingAudioTag&&this._sound&&(this._sound.volume=0)):(this._muted=!1,this.usingWebAudio?this.gainNode.gain.value=this._muteVolume:this.usingAudioTag&&this._sound&&(this._sound.volume=this._muteVolume)),this.onMute.dispatch(this))}}),Object.defineProperty(e.Sound.prototype,"volume",{get:function(){return this._volume},set:function(t){this.usingAudioTag&&(t=this.game.math.clamp(t,0,1)),this._muted?this._muteVolume=t:(this._tempVolume=t,this._volume=t,this.usingWebAudio?this.gainNode.gain.value=t:this.usingAudioTag&&this._sound&&(this._sound.volume=this._globalVolume*t))}}),Object.defineProperty(e.Sound.prototype,"sourceId",{get:function(){return this._sound?this._sourceId:null}}),e.SoundManager=function(t){this.game=t,this.onSoundDecode=new e.Signal,this.onVolumeChange=new e.Signal,this.onMute=new e.Signal,this.onUnMute=new e.Signal,this.onTouchUnlock=new e.Signal,this.context=null,this.baseLatency=null,this.usingWebAudio=!1,this.usingAudioTag=!1,this.noAudio=!1,this.connectToMaster=!0,this.touchLocked=!1,this.channels=32,this.muteOnPause=!0,this._codeMuted=!1,this._muted=!1,this._unlockSource=null,this._volume=1,this._sounds=[],this._watchList=new e.ArraySet,this._watching=!1,this._watchCallback=null,this._watchContext=null,this._resumeWebAudioOnClick=this._resumeWebAudioOnClick.bind(this)},e.SoundManager.prototype={boot:function(){var t=this.game.device,e=window.PhaserGlobal;if(t.iOS&&!1===t.webAudio&&(this.channels=1),e){if(!0===e.disableAudio)return this.noAudio=!0,void(this.touchLocked=!1);if(!0===e.disableWebAudio)return this.usingAudioTag=!0,void(this.touchLocked=!1)}if(e&&e.audioContext)this.context=e.audioContext;else{var i=window.AudioContext||window.webkitAudioContext;if(i)try{this.context=new i}catch(t){this.context=null,this.usingWebAudio=!1,this.touchLocked=!1,console.warn(t)}}if(null===this.context){if(void 0===window.Audio)return void(this.noAudio=!0);this.usingAudioTag=!0}else this.usingWebAudio=!0,this.baseLatency=this.context.baseLatency||256/(this.context.sampleRate||44100),void 0===this.context.createGain?this.masterGain=this.context.createGainNode():this.masterGain=this.context.createGain(),this.masterGain.gain.value=1,this.masterGain.connect(this.context.destination),"suspended"===this.context.state&&this.game.canvas.addEventListener("click",this._resumeWebAudioOnClick);this.noAudio||t.needsTouchUnlock()&&this.setTouchLock(),this.usingWebAudio&&t.chrome&&t.chromeVersion<=65&&console.log('A "GainNode.gain.value setter smoothing is deprecated" notice in Chrome is normal. ')},setTouchLock:function(){this.noAudio||window.PhaserGlobal&&!0===window.PhaserGlobal.disableAudio||(this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0)},setTouchUnlock:function(){this.touchLocked=!1,this._unlockSource=null,this.onTouchUnlock.dispatch()},resumeWebAudio:function(){if(this.usingWebAudio&&"suspended"===this.context.state)return this.context.resume()},unlock:function(){if(this.noAudio||!this.touchLocked||null!==this._unlockSource)return!0;if(this.usingAudioTag)this.setTouchUnlock();else if(this.usingWebAudio){var t=this.context.createBuffer(1,1,22050);this._unlockSource=this.context.createBufferSource(),this._unlockSource.buffer=t,this._unlockSource.connect(this.context.destination);var e=this;this._unlockSource.onended=function(){e.setTouchUnlock(),e.resumeWebAudio()},void 0===this._unlockSource.start?this._unlockSource.noteOn(0):this._unlockSource.start(0),this.resumeWebAudio()}return!0},stopAll:function(){if(!this.noAudio)for(var t=0;t1&&(t=1),this._volume!==t){if(this._volume=t,this.usingWebAudio)this.masterGain.gain.value=t;else for(var e=0;e=400?0:100,this.dom.getOffset(this.game.canvas,this.offset);var i=this._parentBounds.width,s=this._parentBounds.height,n=this.getParentBounds(this._parentBounds),r=n.width!==i||n.height!==s,o=this.updateOrientationState();(r||o)&&(this.onResize&&this.onResize.call(this.onResizeContext,this,n),this.updateLayout(),this.signalSizeChange());var a=2*this._updateThrottle;this._updateThrottlee;return(h=h?s:!s)?(t.width=Math.floor(n),t.height=Math.floor(r)):(t.width=Math.floor(o),t.height=Math.floor(a)),t},destroy:function(){this.game.onResume.remove(this._gameResumed,this),window.removeEventListener("orientationchange",this._orientationChange,!1),window.removeEventListener("resize",this._windowResize,!1),this.compatibility.supportsFullScreen&&(document.removeEventListener("webkitfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("mozfullscreenchange",this._fullScreenChange,!1),document.removeEventListener("MSFullscreenChange",this._fullScreenChange,!1),document.removeEventListener("fullscreenchange",this._fullScreenChange,!1),document.removeEventListener("webkitfullscreenerror",this._fullScreenError,!1),document.removeEventListener("mozfullscreenerror",this._fullScreenError,!1),document.removeEventListener("MSFullscreenError",this._fullScreenError,!1),document.removeEventListener("fullscreenerror",this._fullScreenError,!1))}},e.ScaleManager.prototype.constructor=e.ScaleManager,Object.defineProperty(e.ScaleManager.prototype,"boundingParent",{get:function(){return this.parentIsWindow||this.isFullScreen&&this.hasPhaserSetFullScreen&&!this._createdFullScreenTarget?null:this.game.canvas&&this.game.canvas.parentNode||null}}),Object.defineProperty(e.ScaleManager.prototype,"scaleMode",{get:function(){return this._scaleMode},set:function(t){return t!==this._scaleMode&&(this.isFullScreen||(this.updateDimensions(this._gameSize.width,this._gameSize.height,!0),this.queueUpdate(!0)),this._scaleMode=t),this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"fullScreenScaleMode",{get:function(){return this._fullScreenScaleMode},set:function(t){return t!==this._fullScreenScaleMode&&(this.isFullScreen?(this.prepScreenMode(!1),this._fullScreenScaleMode=t,this.prepScreenMode(!0),this.queueUpdate(!0)):this._fullScreenScaleMode=t),this._fullScreenScaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"currentScaleMode",{get:function(){return this.isFullScreen?this._fullScreenScaleMode:this._scaleMode}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignHorizontally",{get:function(){return this._pageAlignHorizontally},set:function(t){t!==this._pageAlignHorizontally&&(this._pageAlignHorizontally=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"pageAlignVertically",{get:function(){return this._pageAlignVertically},set:function(t){t!==this._pageAlignVertically&&(this._pageAlignVertically=t,this.queueUpdate(!0))}}),Object.defineProperty(e.ScaleManager.prototype,"isFullScreen",{get:function(){return!!(document.fullscreenElement||document.webkitFullscreenElement||document.mozFullScreenElement||document.msFullscreenElement)}}),Object.defineProperty(e.ScaleManager.prototype,"isPortrait",{get:function(){return"portrait"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isLandscape",{get:function(){return"landscape"===this.classifyOrientation(this.screenOrientation)}}),Object.defineProperty(e.ScaleManager.prototype,"isGamePortrait",{get:function(){return this.height>this.width}}),Object.defineProperty(e.ScaleManager.prototype,"isGameLandscape",{get:function(){return this.width>this.height}}),e.Utils.Debug=function(t){this.game=t,this.sprite=null,this.bmd=null,this.canvas=null,this.context=null,this.font="14px monospace",this.columnWidth=100,this.lineHeight=16,this.lineWidth=1,this.renderShadow=!0,this.currentColor=null,this.currentX=0,this.currentY=0,this.currentAlpha=1,this.dirty=!1,this.isDisabled=!1,this._line=null,this._rect=null},e.Utils.Debug.GEOM_AUTO=0,e.Utils.Debug.GEOM_RECTANGLE=1,e.Utils.Debug.GEOM_CIRCLE=2,e.Utils.Debug.GEOM_POINT=3,e.Utils.Debug.GEOM_LINE=4,e.Utils.Debug.GEOM_ELLIPSE=5,e.Utils.Debug.prototype={boot:function(){this.game.renderType===e.CANVAS?this.context=this.game.context:(this.bmd=new e.BitmapData(this.game,"__DEBUG",this.game.width,this.game.height,!0),this.sprite=this.game.make.image(0,0,this.bmd),this.game.stage.addChild(this.sprite),this.game.scale.onSizeChange.add(this.resize,this),this.canvas=e.CanvasPool.create(this,this.game.width,this.game.height),this.context=this.canvas.getContext("2d")),this._line=new e.Line,this._rect=new e.Rectangle},resize:function(){this.bmd.resize(this.game.width,this.game.height),this.canvas.width=this.game.width,this.canvas.height=this.game.height},preUpdate:function(){this.dirty&&this.sprite&&(this.bmd.clear(),this.bmd.draw(this.canvas,0,0),this.context.clearRect(0,0,this.game.width,this.game.height),this.dirty=!1)},reset:function(){this.context&&this.context.clearRect(0,0,this.game.width,this.game.height),this.sprite&&this.bmd.clear()},start:function(t,e,i,s){"number"!=typeof t&&(t=0),"number"!=typeof e&&(e=0),i=i||"rgb(255,255,255)",void 0===s&&(s=0),this.currentX=t,this.currentY=e,this.currentColor=i,this.columnWidth=s,this.dirty=!0,this.context.save(),this.context.setTransform(1,0,0,1,0,0),this.context.strokeStyle=i,this.context.fillStyle=i,this.context.font=this.font,this.context.globalAlpha=this.currentAlpha},stop:function(){this.context.restore()},line:function(){for(var t=this.currentX,e=0;e0)for(var e=0;e=0&&i.right>=0&&i.top<=this.layoutBounds.width&&i.left<=this.layoutBounds.height},getScreenOrientation:function(t){var e=window.screen,i=e.orientation||e.mozOrientation||e.msOrientation;if(i&&"string"==typeof i.type)return i.type;if("string"==typeof i)return i;var s="portrait-primary",n="landscape-primary";if("screen"===t)return e.height>e.width?s:n;if("viewport"===t)return this.visualBounds.height>this.visualBounds.width?s:n;if("window.orientation"===t&&"number"==typeof window.orientation)return 0===window.orientation||180===window.orientation?s:n;if(window.matchMedia){if(window.matchMedia("(orientation: portrait)").matches)return s;if(window.matchMedia("(orientation: landscape)").matches)return n}return this.visualBounds.height>this.visualBounds.width?s:n},visualBounds:new e.Rectangle,layoutBounds:new e.Rectangle,documentBounds:new e.Rectangle},e.Device.whenReady(function(t){var i=window&&"pageXOffset"in window?function(){return window.pageXOffset}:function(){return document.documentElement.scrollLeft},s=window&&"pageYOffset"in window?function(){return window.pageYOffset}:function(){return document.documentElement.scrollTop};if(Object.defineProperty(e.DOM,"scrollX",{get:i}),Object.defineProperty(e.DOM,"scrollY",{get:s}),Object.defineProperty(e.DOM.visualBounds,"x",{get:i}),Object.defineProperty(e.DOM.visualBounds,"y",{get:s}),Object.defineProperty(e.DOM.layoutBounds,"x",{value:0}),Object.defineProperty(e.DOM.layoutBounds,"y",{value:0}),t.desktop&&document.documentElement.clientWidth<=window.innerWidth&&document.documentElement.clientHeight<=window.innerHeight){var n=function(){return Math.max(window.innerWidth,document.documentElement.clientWidth)},r=function(){return Math.max(window.innerHeight,document.documentElement.clientHeight)};Object.defineProperty(e.DOM.visualBounds,"width",{get:n}),Object.defineProperty(e.DOM.visualBounds,"height",{get:r}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:n}),Object.defineProperty(e.DOM.layoutBounds,"height",{get:r})}else Object.defineProperty(e.DOM.visualBounds,"width",{get:function(){return window.innerWidth}}),Object.defineProperty(e.DOM.visualBounds,"height",{get:function(){return window.innerHeight}}),Object.defineProperty(e.DOM.layoutBounds,"width",{get:function(){var t=document.documentElement.clientWidth,e=window.innerWidth;return t-1},reset:function(){this.list.length=0},remove:function(t){var e=this.list.indexOf(t);if(e>-1)return this.list.splice(e,1),t},setAll:function(t,e){for(var i=this.list.length;i--;)this.list[i]&&(this.list[i][t]=e)},callAll:function(t){for(var e=Array.prototype.slice.call(arguments,1),i=this.list.length;i--;)this.list[i]&&this.list[i][t]&&this.list[i][t].apply(this.list[i],e)},removeAll:function(t){void 0===t&&(t=!1);for(var e=this.list.length;e--;)if(this.list[e]){var i=this.remove(this.list[e]);t&&i.destroy()}this.position=0,this.list=[]}},Object.defineProperty(e.ArraySet.prototype,"total",{get:function(){return this.list.length}}),Object.defineProperty(e.ArraySet.prototype,"first",{get:function(){return this.position=0,this.list.length>0?this.list[0]:null}}),Object.defineProperty(e.ArraySet.prototype,"next",{get:function(){return this.position=s||0===i)){null==i&&(i=1);for(var n=s-i,r=e;r0;e--){var i=Math.floor(Math.random()*(e+1)),s=t[e];t[e]=t[i],t[i]=s}return t},transposeMatrix:function(t){for(var e=t.length,i=t[0].length,s=new Array(i),n=0;n-1;r--)s[n][r]=t[r][n]}return s},rotateMatrix:function(t,i){if("string"!=typeof i&&(i=(i%360+360)%360),90===i||-270===i||"rotateLeft"===i)t=(t=e.ArrayUtils.transposeMatrix(t)).reverse();else if(-90===i||270===i||"rotateRight"===i)t=t.reverse(),t=e.ArrayUtils.transposeMatrix(t);else if(180===Math.abs(i)||"rotate180"===i){for(var s=0;s>>0:(t<<24|i<<16|s<<8|n)>>>0},unpackPixel:function(t,i,s,n){return void 0!==i&&null!==i||(i=e.Color.createColor()),void 0!==s&&null!==s||(s=!1),void 0!==n&&null!==n||(n=!1),e.Device.LITTLE_ENDIAN?(i.a=(4278190080&t)>>>24,i.b=(16711680&t)>>>16,i.g=(65280&t)>>>8,i.r=255&t):(i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t),i.color=t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a/255+")",s&&e.Color.RGBtoHSL(i.r,i.g,i.b,i),n&&e.Color.RGBtoHSV(i.r,i.g,i.b,i),i},fromRGBA:function(t,i){return i||(i=e.Color.createColor()),i.r=(4278190080&t)>>>24,i.g=(16711680&t)>>>16,i.b=(65280&t)>>>8,i.a=255&t,i.rgba="rgba("+i.r+","+i.g+","+i.b+","+i.a+")",i},toRGBA:function(t,e,i,s){return t<<24|e<<16|i<<8|s},toABGR:function(t,e,i,s){return(s<<24|i<<16|e<<8|t)>>>0},hexToRGBArray:function(t){return[(t>>16&255)/255,(t>>8&255)/255,(255&t)/255]},RGBArrayToHex:function(t){return(255*t[0]<<16)+(255*t[1]<<8)+255*t[2]},RGBtoHSL:function(t,i,s,n){n||(n=e.Color.createColor(t,i,s,1)),t/=255,i/=255,s/=255;var r=Math.min(t,i,s),o=Math.max(t,i,s);if(n.h=0,n.s=0,n.l=(o+r)/2,o!==r){var a=o-r;n.s=n.l>.5?a/(2-o-r):a/(o+r),o===t?n.h=(i-s)/a+(i1&&(i-=1),i<1/6?t+6*(e-t)*i:i<.5?e:i<2/3?t+(e-t)*(2/3-i)*6:t},createColor:function(t,i,s,n,r,o,a,h){var l={r:t||0,g:i||0,b:s||0,a:n||1,h:r||0,s:o||0,l:a||0,v:h||0,color:0,color32:0,rgba:""};return e.Color.updateColor(l)},updateColor:function(t){return t.rgba="rgba("+t.r.toFixed()+","+t.g.toFixed()+","+t.b.toFixed()+","+t.a.toString()+")",t.color=e.Color.getColor(t.r,t.g,t.b),t.color32=e.Color.getColor32(255*t.a,t.r,t.g,t.b),t},getColor32:function(t,e,i,s){return t<<24|e<<16|i<<8|s},getColor:function(t,e,i){return t<<16|e<<8|i},RGBtoString:function(t,i,s,n,r){return void 0===n&&(n=255),void 0===r&&(r="#"),"#"===r?"#"+((1<<24)+(t<<16)+(i<<8)+s).toString(16).slice(1):"0x"+e.Color.componentToHex(n)+e.Color.componentToHex(t)+e.Color.componentToHex(i)+e.Color.componentToHex(s)},hexToRGB:function(t){var i=e.Color.hexToColor(t);if(i)return e.Color.getColor32(i.a,i.r,i.g,i.b)},hexToColor:function(t,i){t=t.replace(/^(?:#|0x)?([a-f\d])([a-f\d])([a-f\d])$/i,function(t,e,i,s){return e+e+i+i+s+s});var s=/^(?:#|0x)?([a-f\d]{2})([a-f\d]{2})([a-f\d]{2})$/i.exec(t);if(s){var n=parseInt(s[1],16),r=parseInt(s[2],16),o=parseInt(s[3],16);i?(i.r=n,i.g=r,i.b=o):i=e.Color.createColor(n,r,o)}return i},webToColor:function(t,i){i||(i=e.Color.createColor());var s=/^rgba?\(\s*(\d+)\s*,\s*(\d+)\s*,\s*(\d+)\s*(?:,\s*(\d+(?:\.\d+)?))?\s*\)$/.exec(t);return s&&(i.r=~~Number(s[1]),i.g=~~Number(s[2]),i.b=~~Number(s[3]),i.a=void 0!==s[4]?Number(s[4]):1,e.Color.updateColor(i)),i},valueToColor:function(t,i){if(i||(i=e.Color.createColor()),"string"==typeof t)return 0===t.indexOf("rgb")?e.Color.webToColor(t,i):(i.a=1,e.Color.hexToColor(t,i));if("number"==typeof t){var s=e.Color.getRGB(t);return i.r=s.r,i.g=s.g,i.b=s.b,i.a=s.a/255,i}return i},componentToHex:function(t){var e=t.toString(16);return 1===e.length?"0"+e:e},HSVColorWheel:function(t,i){void 0===t&&(t=1),void 0===i&&(i=1);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSVtoRGB(n/359,t,i));return s},HSLColorWheel:function(t,i){void 0===t&&(t=.5),void 0===i&&(i=.5);for(var s=[],n=0;n<=359;n++)s.push(e.Color.HSLtoRGB(n/359,t,i));return s},interpolateColor:function(t,i,s,n,r,o){void 0===r&&(r=255),void 0===o&&(o=0);var a=e.Color.getRGB(t),h=e.Color.getRGB(i);if(0===o)var l=(h.red-a.red)*n/s+a.red,c=(h.green-a.green)*n/s+a.green,u=(h.blue-a.blue)*n/s+a.blue;if(1===o){var d,p=e.Color.RGBtoHSV(a.r,a.g,a.b),f=e.Color.RGBtoHSV(h.r,h.g,h.b),g=f.h-p.h;if(p.h>f.h){var m=f.h;f.h=p.h,p.h=m,g=-g,n=s-n}g>.5&&(p.h=p.h+1,d=((f.h-p.h)*n/s+p.h)%1),g<=.5&&(d=(f.h-p.h)*n/s+p.h);var y=(f.s-p.s)*n/s+p.s,v=(f.v-p.v)*n/s+p.v,x=e.Color.HSVtoRGB(d,y,v,x),l=x.r,c=x.g,u=x.b}return e.Color.getColor32(r,l,c,u)},interpolateColorWithRGB:function(t,i,s,n,r,o){var a=e.Color.getRGB(t),h=(i-a.red)*o/r+a.red,l=(s-a.green)*o/r+a.green,c=(n-a.blue)*o/r+a.blue;return e.Color.getColor(h,l,c)},interpolateRGB:function(t,i,s,n,r,o,a,h){var l=(n-t)*h/a+t,c=(r-i)*h/a+i,u=(o-s)*h/a+s;return e.Color.getColor(l,c,u)},linear:function(t,e,i){return this.interpolateColor(t,e,1,i)},linearInterpolation:function(t,i){var s=e.Math.linear(0,t.length-1,i),n=t[Math.floor(s)],r=t[Math.ceil(s)];return this.linear(n,r,s%1)},getRandomColor:function(t,i,s){if(void 0===t&&(t=0),void 0===i&&(i=255),void 0===s&&(s=255),i>255||t>i)return e.Color.getColor(255,255,255);var n=t+Math.round(Math.random()*(i-t)),r=t+Math.round(Math.random()*(i-t)),o=t+Math.round(Math.random()*(i-t));return e.Color.getColor32(s,n,r,o)},getRGB:function(t){return t>16777215?{alpha:t>>>24,red:t>>16&255,green:t>>8&255,blue:255&t,a:t>>>24,r:t>>16&255,g:t>>8&255,b:255&t}:{alpha:255,red:t>>16&255,green:t>>8&255,blue:255&t,a:255,r:t>>16&255,g:t>>8&255,b:255&t}},getWebRGB:function(t){if("object"==typeof t)return"rgba("+t.r.toString()+","+t.g.toString()+","+t.b.toString()+","+(t.a/255).toString()+")";var i=e.Color.getRGB(t);return"rgba("+i.r.toString()+","+i.g.toString()+","+i.b.toString()+","+(i.a/255).toString()+")"},getAlpha:function(t){return t>>>24},getAlphaFloat:function(t){return(t>>>24)/255},getRed:function(t){return t>>16&255},getGreen:function(t){return t>>8&255},getBlue:function(t){return 255&t},blendNormal:function(t){return t},blendLighten:function(t,e){return e>t?e:t},blendDarken:function(t,e){return e>t?t:e},blendMultiply:function(t,e){return t*e/255},blendAverage:function(t,e){return(t+e)/2},blendAdd:function(t,e){return Math.min(255,t+e)},blendSubtract:function(t,e){return Math.max(0,t+e-255)},blendDifference:function(t,e){return Math.abs(t-e)},blendNegation:function(t,e){return 255-Math.abs(255-t-e)},blendScreen:function(t,e){return 255-((255-t)*(255-e)>>8)},blendExclusion:function(t,e){return t+e-2*t*e/255},blendOverlay:function(t,e){return e<128?2*t*e/255:255-2*(255-t)*(255-e)/255},blendSoftLight:function(t,e){return e<128?2*(64+(t>>1))*(e/255):255-2*(255-(64+(t>>1)))*(255-e)/255},blendHardLight:function(t,i){return e.Color.blendOverlay(i,t)},blendColorDodge:function(t,e){return 255===e?e:Math.min(255,(t<<8)/(255-e))},blendColorBurn:function(t,e){return 0===e?e:Math.max(0,255-(255-t<<8)/e)},blendLinearDodge:function(t,i){return e.Color.blendAdd(t,i)},blendLinearBurn:function(t,i){return e.Color.blendSubtract(t,i)},blendLinearLight:function(t,i){return i<128?e.Color.blendLinearBurn(t,2*i):e.Color.blendLinearDodge(t,2*(i-128))},blendVividLight:function(t,i){return i<128?e.Color.blendColorBurn(t,2*i):e.Color.blendColorDodge(t,2*(i-128))},blendPinLight:function(t,i){return i<128?e.Color.blendDarken(t,2*i):e.Color.blendLighten(t,2*(i-128))},blendHardMix:function(t,i){return e.Color.blendVividLight(t,i)<128?0:255},blendReflect:function(t,e){return 255===e?e:Math.min(255,t*t/(255-e))},blendGlow:function(t,i){return e.Color.blendReflect(i,t)},blendPhoenix:function(t,e){return Math.min(t,e)-Math.max(t,e)+255}},e.Physics=function(t,e){e=e||{},this.game=t,this.config=e,this.arcade=null,this.p2=null,this.ninja=null,this.box2d=null,this.chipmunk=null,this.matter=null,this.parseConfig()},e.Physics.ARCADE=0,e.Physics.P2JS=1,e.Physics.NINJA=2,e.Physics.BOX2D=3,e.Physics.CHIPMUNK=4,e.Physics.MATTERJS=5,e.Physics.prototype={parseConfig:function(){this.config.hasOwnProperty("arcade")&&!0!==this.config.arcade||!e.Physics.hasOwnProperty("Arcade")||(this.arcade=new e.Physics.Arcade(this.game)),this.config.hasOwnProperty("ninja")&&!0===this.config.ninja&&e.Physics.hasOwnProperty("Ninja")&&(this.ninja=new e.Physics.Ninja(this.game)),this.config.hasOwnProperty("p2")&&!0===this.config.p2&&e.Physics.hasOwnProperty("P2")&&(this.p2=new e.Physics.P2(this.game,this.config)),this.config.hasOwnProperty("box2d")&&!0===this.config.box2d&&e.Physics.hasOwnProperty("BOX2D")&&(this.box2d=new e.Physics.Box2D(this.game,this.config)),this.config.hasOwnProperty("matter")&&!0===this.config.matter&&e.Physics.hasOwnProperty("Matter")&&(this.matter=new e.Physics.Matter(this.game,this.config))},startSystem:function(t){t===e.Physics.ARCADE?this.arcade=new e.Physics.Arcade(this.game):t===e.Physics.P2JS?null===this.p2?this.p2=new e.Physics.P2(this.game,this.config):this.p2.reset():t===e.Physics.NINJA?this.ninja=new e.Physics.Ninja(this.game):t===e.Physics.BOX2D?null===this.box2d?this.box2d=new e.Physics.Box2D(this.game,this.config):this.box2d.reset():t===e.Physics.MATTERJS&&(null===this.matter?this.matter=new e.Physics.Matter(this.game,this.config):this.matter.reset())},enable:function(t,i,s){void 0===i&&(i=e.Physics.ARCADE),void 0===s&&(s=!1),i===e.Physics.ARCADE?this.arcade.enable(t):i===e.Physics.P2JS&&this.p2?this.p2.enable(t,s):i===e.Physics.NINJA&&this.ninja?this.ninja.enableAABB(t):i===e.Physics.BOX2D&&this.box2d?this.box2d.enable(t):i===e.Physics.MATTERJS&&this.matter?this.matter.enable(t):console.warn(t.key+" is attempting to enable a physics body using an unknown physics system.")},preUpdate:function(){this.p2&&this.p2.preUpdate(),this.box2d&&this.box2d.preUpdate(),this.matter&&this.matter.preUpdate()},update:function(){this.p2&&this.p2.update(),this.box2d&&this.box2d.update(),this.matter&&this.matter.update()},setBoundsToWorld:function(){this.arcade&&this.arcade.setBoundsToWorld(),this.ninja&&this.ninja.setBoundsToWorld(),this.p2&&this.p2.setBoundsToWorld(),this.box2d&&this.box2d.setBoundsToWorld(),this.matter&&this.matter.setBoundsToWorld()},clear:function(){this.p2&&this.p2.clear(),this.box2d&&this.box2d.clear(),this.matter&&this.matter.clear()},reset:function(){this.p2&&this.p2.reset(),this.box2d&&this.box2d.reset(),this.matter&&this.matter.reset()},destroy:function(){this.p2&&this.p2.destroy(),this.box2d&&this.box2d.destroy(),this.matter&&this.matter.destroy(),this.arcade=null,this.ninja=null,this.p2=null,this.box2d=null,this.matter=null}},e.Physics.prototype.constructor=e.Physics,e.Physics.Arcade=function(t){this.game=t,this.gravity=new e.Point,this.bounds=new e.Rectangle(0,0,t.world.width,t.world.height),this.checkCollision={up:!0,down:!0,left:!0,right:!0},this.maxObjects=10,this.maxLevels=4,this.OVERLAP_BIAS=4,this.forceX=!1,this.sortDirection=e.Physics.Arcade.LEFT_RIGHT,this.skipQuadTree=!0,this.isPaused=!1,this.quadTree=new e.QuadTree(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this._total=0,this.setBoundsToWorld()},e.Physics.Arcade.prototype.constructor=e.Physics.Arcade,e.Physics.Arcade.SORT_NONE=0,e.Physics.Arcade.LEFT_RIGHT=1,e.Physics.Arcade.RIGHT_LEFT=2,e.Physics.Arcade.TOP_BOTTOM=3,e.Physics.Arcade.BOTTOM_TOP=4,e.Physics.Arcade.prototype={setBounds:function(t,e,i,s){this.bounds.setTo(t,e,i,s)},setBoundsToWorld:function(){this.bounds.copyFrom(this.game.world.bounds)},enable:function(t,i){void 0===i&&(i=!0);var s=1;if(Array.isArray(t))for(s=t.length;s--;)t[s]instanceof e.Group?this.enable(t[s].children,i):(this.enableBody(t[s]),i&&t[s].hasOwnProperty("children")&&t[s].children.length>0&&this.enable(t[s],!0));else t instanceof e.Group?this.enable(t.children,i):(this.enableBody(t),i&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,!0))},enableBody:function(t){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.Arcade.Body(t),t.parent&&t.parent instanceof e.Group&&t.parent.addToHash(t))},updateMotion:function(t){if(t.allowRotation){var e=this.computeVelocity(0,t,t.angularVelocity,t.angularAcceleration,t.angularDrag,t.maxAngular)-t.angularVelocity;t.angularVelocity+=e,t.rotation+=t.angularVelocity*this.game.time.physicsElapsed}t.velocity.x=this.computeVelocity(1,t,t.velocity.x,t.acceleration.x,t.drag.x,t.maxVelocity.x),t.velocity.y=this.computeVelocity(2,t,t.velocity.y,t.acceleration.y,t.drag.y,t.maxVelocity.y)},computeVelocity:function(t,e,i,s,n,r){return void 0===r&&(r=1e4),1===t&&e.allowGravity?i+=(this.gravity.x+e.gravity.x)*this.game.time.physicsElapsed:2===t&&e.allowGravity&&(i+=(this.gravity.y+e.gravity.y)*this.game.time.physicsElapsed),s?i+=s*this.game.time.physicsElapsed:n&&e.allowDrag&&(i-(n*=this.game.time.physicsElapsed)>0?i-=n:i+n<0?i+=n:i=0),i>r?i=r:i<-r&&(i=-r),i},overlap:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!0),this._total>0},collide:function(t,e,i,s,n){return i=i||null,s=s||null,n=n||i,this._total=0,this.collideObjects(t,e,i,s,n,!1),this._total>0},sortLeftRight:function(t,e){return t.body&&e.body?t.body.x-e.body.x:0},sortRightLeft:function(t,e){return t.body&&e.body?e.body.x-t.body.x:0},sortTopBottom:function(t,e){return t.body&&e.body?t.body.y-e.body.y:0},sortBottomTop:function(t,e){return t.body&&e.body?e.body.y-t.body.y:0},sort:function(t,i){null!==t.physicsSortDirection?i=t.physicsSortDirection:void 0===i&&(i=this.sortDirection),i===e.Physics.Arcade.LEFT_RIGHT?t.hash.sort(this.sortLeftRight):i===e.Physics.Arcade.RIGHT_LEFT?t.hash.sort(this.sortRightLeft):i===e.Physics.Arcade.TOP_BOTTOM?t.hash.sort(this.sortTopBottom):i===e.Physics.Arcade.BOTTOM_TOP&&t.hash.sort(this.sortBottomTop)},collideObjects:function(t,e,i,s,n,r){if(!Array.isArray(t)&&Array.isArray(e))for(o=0;oa.right)break;if(a.x>t.body.right)continue}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(t.body.bottoma.bottom)break;if(a.y>t.body.bottom)continue}this.collideSpriteVsSprite(t,l,s,n,r,o)}}else{this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(i);for(var c=this.quadTree.retrieve(t),h=0;hc.right)continue;if(c.x>a.right)break}else if(this.sortDirection===e.Physics.Arcade.TOP_BOTTOM){if(a.bottomc.bottom)continue;if(c.y>h.body.bottom)break}this.collideSpriteVsSprite(h,u,i,s,n,r)}}}}},collideGroupVsGroup:function(t,i,s,n,r,o){if(0!==t.length&&0!==i.length)for(var a=0;aa.bottom)&&(h.xa.right))return this.separateCircle(t,e,n)}var l=!1,c=!1;this.forceX||Math.abs(this.gravity.y+t.gravity.y)=i.right)&&!(t.position.y>=i.bottom))))},circleBodyIntersects:function(t,i){var s=e.Math.clamp(t.center.x,i.left,i.right),n=e.Math.clamp(t.center.y,i.top,i.bottom);return(t.center.x-s)*(t.center.x-s)+(t.center.y-n)*(t.center.y-n)<=t.halfWidth*t.halfWidth},separateCircle:function(t,i,s){this.getOverlapX(t,i),this.getOverlapY(t,i);var n=i.center.x-t.center.x,r=i.center.y-t.center.y,o=Math.atan2(r,n),a=0;if(t.isCircle!==i.isCircle){var h={x:i.isCircle?t.position.x:i.position.x,y:i.isCircle?t.position.y:i.position.y,right:i.isCircle?t.right:i.right,bottom:i.isCircle?t.bottom:i.bottom},l={x:t.isCircle?t.center.x:i.center.x,y:t.isCircle?t.center.y:i.center.y,radius:t.isCircle?t.halfWidth:i.halfWidth};l.yh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.y)-l.radius):l.y>h.bottom&&(l.xh.right&&(a=e.Math.distance(l.x,l.y,h.right,h.bottom)-l.radius)),a*=-1}else a=t.halfWidth+i.halfWidth-e.Math.distance(t.center.x,t.center.y,i.center.x,i.center.y);if(s||0===a||t.immovable&&i.immovable||t.customSeparateX||i.customSeparateX)return 0!==a&&(t.onOverlap&&t.onOverlap.dispatch(t.sprite,i.sprite),i.onOverlap&&i.onOverlap.dispatch(i.sprite,t.sprite)),0!==a;var c={x:t.velocity.x*Math.cos(o)+t.velocity.y*Math.sin(o),y:-t.velocity.x*Math.sin(o)+t.velocity.y*Math.cos(o)},u={x:i.velocity.x*Math.cos(o)+i.velocity.y*Math.sin(o),y:-i.velocity.x*Math.sin(o)+i.velocity.y*Math.cos(o)},d=((t.mass-i.mass)*c.x+2*i.mass*u.x)/(t.mass+i.mass),p=(2*t.mass*c.x+(i.mass-t.mass)*u.x)/(t.mass+i.mass);return t.immovable||(t.velocity.x=(d*Math.cos(o)-c.y*Math.sin(o))*t.bounce.x,t.velocity.y=(c.y*Math.cos(o)+d*Math.sin(o))*t.bounce.y),i.immovable||(i.velocity.x=(p*Math.cos(o)-u.y*Math.sin(o))*i.bounce.x,i.velocity.y=(u.y*Math.cos(o)+p*Math.sin(o))*i.bounce.y),Math.abs(o)0&&!t.immovable&&i.velocity.x>t.velocity.x?t.velocity.x*=-1:i.velocity.x<0&&!i.immovable&&t.velocity.x0&&!t.immovable&&i.velocity.y>t.velocity.y?t.velocity.y*=-1:i.velocity.y<0&&!i.immovable&&t.velocity.yMath.PI/2&&(t.velocity.x<0&&!t.immovable&&i.velocity.x0&&!i.immovable&&t.velocity.x>i.velocity.x?i.velocity.x*=-1:t.velocity.y<0&&!t.immovable&&i.velocity.y0&&!i.immovable&&t.velocity.x>i.velocity.y&&(i.velocity.y*=-1)),t.immovable||(t.x+=t.velocity.x*this.game.time.physicsElapsed-a*Math.cos(o),t.y+=t.velocity.y*this.game.time.physicsElapsed-a*Math.sin(o)),i.immovable||(i.x+=i.velocity.x*this.game.time.physicsElapsed+a*Math.cos(o),i.y+=i.velocity.y*this.game.time.physicsElapsed+a*Math.sin(o)),t.onCollide&&t.onCollide.dispatch(t.sprite,i.sprite),i.onCollide&&i.onCollide.dispatch(i.sprite,t.sprite),!0},getOverlapX:function(t,e,i){var s=0,n=t.deltaAbsX()+e.deltaAbsX()+this.OVERLAP_BIAS;return 0===t.deltaX()&&0===e.deltaX()?(t.embedded=!0,e.embedded=!0):t.deltaX()>e.deltaX()?(s=t.right-e.x)>n&&!i||!1===t.checkCollision.right||!1===e.checkCollision.left?s=0:(t.touching.none=!1,t.touching.right=!0,e.touching.none=!1,e.touching.left=!0):t.deltaX()n&&!i||!1===t.checkCollision.left||!1===e.checkCollision.right?s=0:(t.touching.none=!1,t.touching.left=!0,e.touching.none=!1,e.touching.right=!0)),t.overlapX=s,e.overlapX=s,s},getOverlapY:function(t,e,i){var s=0,n=t.deltaAbsY()+e.deltaAbsY()+this.OVERLAP_BIAS;return 0===t.deltaY()&&0===e.deltaY()?(t.embedded=!0,e.embedded=!0):t.deltaY()>e.deltaY()?(s=t.bottom-e.y)>n&&!i||!1===t.checkCollision.down||!1===e.checkCollision.up?s=0:(t.touching.none=!1,t.touching.down=!0,e.touching.none=!1,e.touching.up=!0):t.deltaY()n&&!i||!1===t.checkCollision.up||!1===e.checkCollision.down?s=0:(t.touching.none=!1,t.touching.up=!0,e.touching.none=!1,e.touching.down=!0)),t.overlapY=s,e.overlapY=s,s},separateX:function(t,e,i){var s=this.getOverlapX(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateX||e.customSeparateX)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.x,r=e.velocity.x;if(t.immovable||e.immovable)t.immovable?(e.x+=s,e.velocity.x=n-r*e.bounce.x,t.moves&&(e.y+=(t.y-t.prev.y)*t.friction.y)):(t.x-=s,t.velocity.x=r-n*t.bounce.x,e.moves&&(t.y+=(e.y-e.prev.y)*e.friction.y));else{s*=.5,t.x-=s,e.x+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.x=h+o*t.bounce.x,e.velocity.x=h+a*e.bounce.x}return!0},separateY:function(t,e,i){var s=this.getOverlapY(t,e,i);if(i||0===s||t.immovable&&e.immovable||t.customSeparateY||e.customSeparateY)return 0!==s||t.embedded&&e.embedded;var n=t.velocity.y,r=e.velocity.y;if(t.immovable||e.immovable)t.immovable?(e.y+=s,e.velocity.y=n-r*e.bounce.y,t.moves&&(e.x+=(t.x-t.prev.x)*t.friction.x)):(t.y-=s,t.velocity.y=r-n*t.bounce.y,e.moves&&(t.x+=(e.x-e.prev.x)*e.friction.x));else{s*=.5,t.y-=s,e.y+=s;var o=Math.sqrt(r*r*e.mass/t.mass)*(r>0?1:-1),a=Math.sqrt(n*n*t.mass/e.mass)*(n>0?1:-1),h=.5*(o+a);o-=h,a-=h,t.velocity.y=h+o*t.bounce.y,e.velocity.y=h+a*e.bounce.y}return!0},getObjectsUnderPointer:function(t,e,i,s){if(0!==e.length&&t.exists)return this.getObjectsAtLocation(t.x,t.y,e,i,s,t)},getObjectsAtLocation:function(t,i,s,n,r,o){this.quadTree.clear(),this.quadTree.reset(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,this.maxObjects,this.maxLevels),this.quadTree.populate(s);for(var a=new e.Rectangle(t,i,1,1),h=[],l=this.quadTree.retrieve(a),c=0;c0&&(s=this.distanceBetween(t,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},moveToPointer:function(t,e,i,s){void 0===e&&(e=60),i=i||this.game.input.activePointer,void 0===s&&(s=0);var n=this.angleToPointer(t,i);return s>0&&(e=this.distanceToPointer(t,i)/(s/1e3)),t.body.velocity.setToPolar(n,e),n},moveToXY:function(t,e,i,s,n){void 0===s&&(s=60),void 0===n&&(n=0);var r=Math.atan2(i-t.y,e-t.x);return n>0&&(s=this.distanceToXY(t,e,i)/(n/1e3)),t.body.velocity.setToPolar(r,s),r},velocityFromAngle:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i,!0)},velocityFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerationFromRotation:function(t,i,s){return void 0===i&&(i=60),(s=s||new e.Point).setToPolar(t,i)},accelerateToObject:function(t,e,i,s,n){void 0===i&&(i=60),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleBetween(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToPointer:function(t,e,i,s,n){void 0===i&&(i=60),void 0===e&&(e=this.game.input.activePointer),void 0===s&&(s=1e3),void 0===n&&(n=1e3);var r=this.angleToPointer(t,e);return t.body.acceleration.setToPolar(r,i),t.body.maxVelocity.setTo(s,n),r},accelerateToXY:function(t,e,i,s,n,r){void 0===s&&(s=60),void 0===n&&(n=1e3),void 0===r&&(r=1e3);var o=this.angleToXY(t,e,i);return t.body.acceleration.setTo(o,s),t.body.maxVelocity.setTo(n,r),o},distanceBetween:function(t,e,i,s){void 0===i&&(i=!1);var n,r;return s?(n=t.centerX-e.centerX,r=t.centerY-e.centerY):i?(n=t.world.x-e.world.x,r=t.world.y-e.world.y):(n=t.x-e.x,r=t.y-e.y),Math.sqrt(n*n+r*r)},distanceToXY:function(t,e,i,s){void 0===s&&(s=!1);var n=s?t.world.x-e:t.x-e,r=s?t.world.y-i:t.y-i;return Math.sqrt(n*n+r*r)},distanceToPointer:function(t,e,i){void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1);var s=i?t.world.x-e.worldX:t.x-e.worldX,n=i?t.world.y-e.worldY:t.y-e.worldY;return Math.sqrt(s*s+n*n)},closest:function(t,e,i,s){for(var n=1/0,r=null,o=0,a=e.length;on&&(r=h,n=l)}return r},angleBetween:function(t,i,s){return void 0===s&&(s=!1),s?e.Point.angle(i.world,t.world):e.Point.angle(i,t)},angleBetweenCenters:function(t,e){var i=e.centerX-t.centerX,s=e.centerY-t.centerY;return Math.atan2(s,i)},angleToXY:function(t,e,i,s){return void 0===s&&(s=!1),s?Math.atan2(i-t.world.y,e-t.world.x):Math.atan2(i-t.y,e-t.x)},angleToPointer:function(t,e,i){return void 0===e&&(e=this.game.input.activePointer),void 0===i&&(i=!1),i?Math.atan2(e.worldY-t.world.y,e.worldX-t.world.x):Math.atan2(e.worldY-t.y,e.worldX-t.x)},worldAngleToPointer:function(t,e){return this.angleToPointer(t,e,!0)}},e.Physics.Arcade.Body=function(t){this.sprite=t,this.game=t.game,this.type=e.Physics.ARCADE,this.enable=!0,this.isCircle=!1,this.radius=0,this.offset=new e.Point,this.position=new e.Point(t.x,t.y),this.prev=new e.Point(this.position.x,this.position.y),this.allowRotation=!0,this.rotation=t.angle,this.preRotation=t.angle,this.width=t.width,this.height=t.height,this.sourceWidth=t.width,this.sourceHeight=t.height,t.texture&&(this.sourceWidth=t.texture.frame.width,this.sourceHeight=t.texture.frame.height),this.halfWidth=Math.abs(t.width/2),this.halfHeight=Math.abs(t.height/2),this.center=new e.Point(t.x+this.halfWidth,t.y+this.halfHeight),this.velocity=new e.Point,this.newVelocity=new e.Point,this.deltaMax=new e.Point,this.acceleration=new e.Point,this.allowDrag=!0,this.drag=new e.Point,this.allowGravity=!0,this.gravity=new e.Point,this.bounce=new e.Point,this.worldBounce=null,this.onWorldBounds=null,this.onCollide=null,this.onOverlap=null,this.maxVelocity=new e.Point(1e4,1e4),this.friction=new e.Point(1,0),this.angularVelocity=0,this.angularAcceleration=0,this.angularDrag=0,this.maxAngular=1e3,this.mass=1,this.angle=0,this.speed=0,this.facing=e.NONE,this.immovable=!1,this.moves=!0,this.customSeparateX=!1,this.customSeparateY=!1,this.overlapX=0,this.overlapY=0,this.overlapR=0,this.embedded=!1,this.collideWorldBounds=!1,this.checkCollision={none:!1,up:!0,down:!0,left:!0,right:!0},this.touching={none:!0,up:!1,down:!1,left:!1,right:!1},this.wasTouching={none:!0,up:!1,down:!1,left:!1,right:!1},this.blocked={none:!0,up:!1,down:!1,left:!1,right:!1},this.tilePadding=new e.Point,this.dirty=!1,this.skipQuadTree=!1,this.syncBounds=!1,this.isMoving=!1,this.stopVelocityOnCollide=!0,this.moveTimer=0,this.moveDistance=0,this.moveDuration=0,this.moveTarget=null,this.moveEnd=null,this.onMoveComplete=new e.Signal,this.movementCallback=null,this.movementCallbackContext=null,this._reset=!0,this._sx=t.scale.x,this._sy=t.scale.y,this._dx=0,this._dy=0},e.Physics.Arcade.Body.prototype={updateBounds:function(){if(this.syncBounds){var t=this.sprite.getBounds();t.ceilAll(),t.width===this.width&&t.height===this.height||(this.width=t.width,this.height=t.height,this._reset=!0)}else{var e=Math.abs(this.sprite.scale.x),i=Math.abs(this.sprite.scale.y);e===this._sx&&i===this._sy||(this.width=this.sourceWidth*e,this.height=this.sourceHeight*i,this._sx=e,this._sy=i,this._reset=!0)}this._reset&&(this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.updateCenter())},updateCenter:function(){this.center.setTo(this.position.x+this.halfWidth,this.position.y+this.halfHeight)},preUpdate:function(){this.enable&&!this.game.physics.arcade.isPaused&&(this.dirty=!0,this.wasTouching.none=this.touching.none,this.wasTouching.up=this.touching.up,this.wasTouching.down=this.touching.down,this.wasTouching.left=this.touching.left,this.wasTouching.right=this.touching.right,this.touching.none=!0,this.touching.up=!1,this.touching.down=!1,this.touching.left=!1,this.touching.right=!1,this.blocked.none=!0,this.blocked.up=!1,this.blocked.down=!1,this.blocked.left=!1,this.blocked.right=!1,this.overlapR=0,this.overlapX=0,this.overlapY=0,this.embedded=!1,this.updateBounds(),this.position.x=this.sprite.world.x-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=this.sprite.world.y-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.updateCenter(),this.rotation=this.sprite.angle,this.preRotation=this.rotation,(this._reset||this.sprite.fresh)&&(this.prev.x=this.position.x,this.prev.y=this.position.y),this.moves&&(this.game.physics.arcade.updateMotion(this),this.newVelocity.set(this.velocity.x*this.game.time.physicsElapsed,this.velocity.y*this.game.time.physicsElapsed),this.position.x+=this.newVelocity.x,this.position.y+=this.newVelocity.y,this.updateCenter(),this.position.x===this.prev.x&&this.position.y===this.prev.y||(this.angle=this.velocity.atan()),this.speed=Math.sqrt(this.velocity.x*this.velocity.x+this.velocity.y*this.velocity.y),this.collideWorldBounds&&this.checkWorldBounds()&&this.onWorldBounds&&this.onWorldBounds.dispatch(this.sprite,this.blocked.up,this.blocked.down,this.blocked.left,this.blocked.right)),this._dx=this.deltaX(),this._dy=this.deltaY(),this._reset=!1)},updateMovement:function(){var t=0,e=0!==this.overlapX||0!==this.overlapY;if(this.moveDuration>0?(this.moveTimer+=this.game.time.elapsedMS,t=this.moveTimer/this.moveDuration):(this.moveTarget.end.set(this.position.x,this.position.y),t=this.moveTarget.length/this.moveDistance),this.movementCallback)var i=this.movementCallback.call(this.movementCallbackContext,this,this.velocity,t);return!(e||t>=1||void 0!==i&&!0!==i)||(this.stopMovement(t>=1||this.stopVelocityOnCollide&&e),!1)},stopMovement:function(t){this.isMoving&&(this.isMoving=!1,t&&this.velocity.set(0),this.onMoveComplete.dispatch(this.sprite,0!==this.overlapX||0!==this.overlapY))},postUpdate:function(){this.enable&&this.dirty&&(this.isMoving&&this.updateMovement(),this.dirty=!1,this.deltaX()<0?this.facing=e.LEFT:this.deltaX()>0&&(this.facing=e.RIGHT),this.deltaY()<0?this.facing=e.UP:this.deltaY()>0&&(this.facing=e.DOWN),this.moves&&(this._dx=this.deltaX(),this._dy=this.deltaY(),0!==this.deltaMax.x&&0!==this._dx&&(this._dx<0&&this._dx<-this.deltaMax.x?this._dx=-this.deltaMax.x:this._dx>0&&this._dx>this.deltaMax.x&&(this._dx=this.deltaMax.x)),0!==this.deltaMax.y&&0!==this._dy&&(this._dy<0&&this._dy<-this.deltaMax.y?this._dy=-this.deltaMax.y:this._dy>0&&this._dy>this.deltaMax.y&&(this._dy=this.deltaMax.y)),this.sprite.position.x+=this._dx,this.sprite.position.y+=this._dy,this._reset=!0),this.updateCenter(),this.allowRotation&&(this.sprite.angle+=this.deltaZ()),this.prev.x=this.position.x,this.prev.y=this.position.y)},checkWorldBounds:function(){var t=this.position,e=this.game.physics.arcade.bounds,i=this.game.physics.arcade.checkCollision,s=this.worldBounce?-this.worldBounce.x:-this.bounce.x,n=this.worldBounce?-this.worldBounce.y:-this.bounce.y;return t.xe.right&&i.right&&(t.x=e.right-this.width,this.velocity.x*=s,this.blocked.right=!0,this.blocked.none=!1),t.ye.bottom&&i.down&&(t.y=e.bottom-this.height,this.velocity.y*=n,this.blocked.down=!0,this.blocked.none=!1),!this.blocked.none},moveFrom:function(t,e,i){if(void 0===e&&(e=this.speed),0===e)return!1;var s;return void 0===i?(s=this.angle,i=this.game.math.radToDeg(s)):s=this.game.math.degToRad(i),this.moveTimer=0,this.moveDuration=t,0===i||180===i?this.velocity.set(Math.cos(s)*e,0):90===i||270===i?this.velocity.set(0,Math.sin(s)*e):this.velocity.setToPolar(s,e),this.isMoving=!0,!0},moveTo:function(t,i,s){var n=i/(t/1e3);if(0===n)return!1;var r;return void 0===s?(r=this.angle,s=this.game.math.radToDeg(r)):r=this.game.math.degToRad(s),i=Math.abs(i),this.moveDuration=0,this.moveDistance=i,null===this.moveTarget&&(this.moveTarget=new e.Line,this.moveEnd=new e.Point),this.moveTarget.fromAngle(this.x,this.y,r,i),this.moveEnd.set(this.moveTarget.end.x,this.moveTarget.end.y),this.moveTarget.setTo(this.x,this.y,this.x,this.y),0===s||180===s?this.velocity.set(Math.cos(r)*n,0):90===s||270===s?this.velocity.set(0,Math.sin(r)*n):this.velocity.setToPolar(r,n),this.isMoving=!0,!0},setSize:function(t,e,i,s){void 0===i&&(i=this.offset.x),void 0===s&&(s=this.offset.y),this.sourceWidth=t,this.sourceHeight=e,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(i,s),this.updateCenter(),this.isCircle=!1,this.radius=0},setCircle:function(t,e,i){void 0===e&&(e=this.offset.x),void 0===i&&(i=this.offset.y),t>0?(this.isCircle=!0,this.radius=t,this.sourceWidth=2*t,this.sourceHeight=2*t,this.width=this.sourceWidth*this._sx,this.height=this.sourceHeight*this._sy,this.halfWidth=Math.floor(this.width/2),this.halfHeight=Math.floor(this.height/2),this.offset.setTo(e,i),this.updateCenter()):this.isCircle=!1},reset:function(t,e){this.stop(),this.position.x=t-this.sprite.anchor.x*this.sprite.width+this.sprite.scale.x*this.offset.x,this.position.x-=this.sprite.scale.x<0?this.width:0,this.position.y=e-this.sprite.anchor.y*this.sprite.height+this.sprite.scale.y*this.offset.y,this.position.y-=this.sprite.scale.y<0?this.height:0,this.prev.x=this.position.x,this.prev.y=this.position.y,this.rotation=this.sprite.angle,this.preRotation=this.rotation,this.updateBounds(),this.updateCenter()},stop:function(){this.velocity.set(0),this.acceleration.set(0),this.speed=0,this.angularVelocity=0,this.angularAcceleration=0},getBounds:function(t){return t.x=this.x,t.y=this.y,t.right=this.right,t.bottom=this.bottom,t},hitTest:function(t,i){return this.isCircle?e.Circle.contains(this,t,i):e.Rectangle.contains(this,t,i)},onFloor:function(){return this.blocked.down},onCeiling:function(){return this.blocked.up},onWall:function(){return this.blocked.left||this.blocked.right},deltaAbsX:function(){return this.deltaX()>0?this.deltaX():-this.deltaX()},deltaAbsY:function(){return this.deltaY()>0?this.deltaY():-this.deltaY()},deltaX:function(){return this.position.x-this.prev.x},deltaY:function(){return this.position.y-this.prev.y},deltaZ:function(){return this.rotation-this.preRotation},destroy:function(){this.sprite.parent&&this.sprite.parent instanceof e.Group&&this.sprite.parent.removeFromHash(this.sprite),this.sprite.body=null,this.sprite=null}},Object.defineProperty(e.Physics.Arcade.Body.prototype,"left",{get:function(){return this.position.x}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"right",{get:function(){return this.position.x+this.width}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"top",{get:function(){return this.position.y}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"bottom",{get:function(){return this.position.y+this.height}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"x",{get:function(){return this.position.x},set:function(t){this.position.x=t}}),Object.defineProperty(e.Physics.Arcade.Body.prototype,"y",{get:function(){return this.position.y},set:function(t){this.position.y=t}}),e.Physics.Arcade.Body.render=function(t,e,i,s,n){void 0===s&&(s=!0),i=i||"rgba(0,255,0,0.4)",t.fillStyle=i,t.strokeStyle=i,t.lineWidth=n||1,e.isCircle?(t.beginPath(),t.arc(e.center.x-e.game.camera.x,e.center.y-e.game.camera.y,e.halfWidth,0,2*Math.PI),s?t.fill():t.stroke()):s?t.fillRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height):t.strokeRect(e.position.x-e.game.camera.x,e.position.y-e.game.camera.y,e.width,e.height)},e.Physics.Arcade.Body.renderBodyInfo=function(t,e){t.line("x: "+e.x.toFixed(2),"y: "+e.y.toFixed(2),"width: "+e.width,"height: "+e.height),t.line("velocity x: "+e.velocity.x.toFixed(2),"y: "+e.velocity.y.toFixed(2),"deltaX: "+e._dx.toFixed(2),"deltaY: "+e._dy.toFixed(2)),t.line("acceleration x: "+e.acceleration.x.toFixed(2),"y: "+e.acceleration.y.toFixed(2),"speed: "+e.speed.toFixed(2),"angle: "+e.angle.toFixed(2)),t.line("gravity x: "+e.gravity.x,"y: "+e.gravity.y,"bounce x: "+e.bounce.x.toFixed(2),"y: "+e.bounce.y.toFixed(2)),t.line("touching left: "+e.touching.left,"right: "+e.touching.right,"up: "+e.touching.up,"down: "+e.touching.down),t.line("blocked left: "+e.blocked.left,"right: "+e.blocked.right,"up: "+e.blocked.up,"down: "+e.blocked.down)},e.Physics.Arcade.Body.prototype.constructor=e.Physics.Arcade.Body,e.Physics.Arcade.TilemapCollision=function(){},e.Physics.Arcade.TilemapCollision.prototype={TILE_BIAS:16,collideSpriteVsTilemapLayer:function(t,e,i,s,n,r){if(t.body){var o=e.getTiles(t.body.position.x-t.body.tilePadding.x-e.getTileOffsetX(),t.body.position.y-t.body.tilePadding.y-e.getTileOffsetY(),t.body.width+t.body.tilePadding.x,t.body.height+t.body.tilePadding.y,!1,!1);if(0!==o.length)for(var a=0;ae.deltaAbsY()?l=-1:e.deltaAbsX()0&&!t.blocked.right&&e.collideLeft&&t.checkCollision.right&&e.faceLeft&&t.right-n>e.left&&(s=t.right-n-e.left)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateX?t.overlapX=s:this.processTileSeparationX(t,s)),s},tileCheckY:function(t,e,i){var s=0,n=i.getTileOffsetY();return t.deltaY()<0&&!t.blocked.up&&e.collideDown&&t.checkCollision.up?e.faceBottom&&t.y-n0&&!t.blocked.down&&e.collideUp&&t.checkCollision.down&&e.faceTop&&t.bottom-n>e.top&&(s=t.bottom-n-e.top)>this.TILE_BIAS&&(s=0),0!==s&&(t.customSeparateY?t.overlapY=s:this.processTileSeparationY(t,s)),s},processTileSeparationX:function(t,e){e<0?(t.blocked.left=!0,t.blocked.none=!1):e>0&&(t.blocked.right=!0,t.blocked.none=!1),t.position.x-=e,0===t.bounce.x?t.velocity.x=0:t.velocity.x=-t.velocity.x*t.bounce.x},processTileSeparationY:function(t,e){e<0?(t.blocked.up=!0,t.blocked.none=!1):e>0&&(t.blocked.down=!0,t.blocked.none=!1),t.position.y-=e,0===t.bounce.y?t.velocity.y=0:t.velocity.y=-t.velocity.y*t.bounce.y}},e.Utils.mixinPrototype(e.Physics.Arcade.prototype,e.Physics.Arcade.TilemapCollision.prototype),p2.Body.prototype.parent=null,p2.Spring.prototype.parent=null,e.Physics.P2=function(t,i){this.game=t,void 0===i?i={gravity:[0,0],broadphase:new p2.SAPBroadphase}:(i.hasOwnProperty("gravity")||(i.gravity=[0,0]),i.hasOwnProperty("broadphase")||(i.broadphase=new p2.SAPBroadphase)),this.config=i,this.world=new p2.World(this.config),this.frameRate=1/60,this.useElapsedTime=!1,this.paused=!1,this.materials=[],this.gravity=new e.Physics.P2.InversePointProxy(this,this.world.gravity),this.walls={left:null,right:null,top:null,bottom:null},this.onBodyAdded=new e.Signal,this.onBodyRemoved=new e.Signal,this.onSpringAdded=new e.Signal,this.onSpringRemoved=new e.Signal,this.onConstraintAdded=new e.Signal,this.onConstraintRemoved=new e.Signal,this.onContactMaterialAdded=new e.Signal,this.onContactMaterialRemoved=new e.Signal,this.postBroadphaseCallback=null,this.callbackContext=null,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,i.hasOwnProperty("mpx")&&i.hasOwnProperty("pxm")&&i.hasOwnProperty("mpxi")&&i.hasOwnProperty("pxmi")&&(this.mpx=i.mpx,this.mpxi=i.mpxi,this.pxm=i.pxm,this.pxmi=i.pxmi),this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.collisionGroups=[],this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this.boundsCollidesWith=[],this._toRemove=[],this._collisionGroupID=2,this._boundsLeft=!0,this._boundsRight=!0,this._boundsTop=!0,this._boundsBottom=!0,this._boundsOwnGroup=!1,this.setBoundsToWorld(!0,!0,!0,!0,!1)},e.Physics.P2.prototype={removeBodyNextStep:function(t){this._toRemove.push(t)},preUpdate:function(){for(var t=this._toRemove.length;t--;)this.removeBody(this._toRemove[t]);this._toRemove.length=0},enable:function(t,i,s){void 0===i&&(i=!1),void 0===s&&(s=!0);var n=1;if(Array.isArray(t))for(n=t.length;n--;)t[n]instanceof e.Group?this.enable(t[n].children,i,s):(this.enableBody(t[n],i),s&&t[n].hasOwnProperty("children")&&t[n].children.length>0&&this.enable(t[n],i,!0));else t instanceof e.Group?this.enable(t.children,i,s):(this.enableBody(t,i),s&&t.hasOwnProperty("children")&&t.children.length>0&&this.enable(t.children,i,!0))},enableBody:function(t,i){t.hasOwnProperty("body")&&null===t.body&&(t.body=new e.Physics.P2.Body(this.game,t,t.x,t.y,1),t.body.debug=i,void 0!==t.anchor&&t.anchor.set(.5))},setImpactEvents:function(t){t?this.world.on("impact",this.impactHandler,this):this.world.off("impact",this.impactHandler,this)},setPostBroadphaseCallback:function(t,e){this.postBroadphaseCallback=t,this.callbackContext=e,null!==t?this.world.on("postBroadphase",this.postBroadphaseHandler,this):this.world.off("postBroadphase",this.postBroadphaseHandler,this)},postBroadphaseHandler:function(t){if(this.postBroadphaseCallback&&0!==t.pairs.length)for(var e=t.pairs.length-2;e>=0;e-=2)t.pairs[e].parent&&t.pairs[e+1].parent&&!this.postBroadphaseCallback.call(this.callbackContext,t.pairs[e].parent,t.pairs[e+1].parent)&&t.pairs.splice(e,2)},impactHandler:function(t){if(t.bodyA.parent&&t.bodyB.parent){var e=t.bodyA.parent,i=t.bodyB.parent;e._bodyCallbacks[t.bodyB.id]&&e._bodyCallbacks[t.bodyB.id].call(e._bodyCallbackContext[t.bodyB.id],e,i,t.shapeA,t.shapeB),i._bodyCallbacks[t.bodyA.id]&&i._bodyCallbacks[t.bodyA.id].call(i._bodyCallbackContext[t.bodyA.id],i,e,t.shapeB,t.shapeA),e._groupCallbacks[t.shapeB.collisionGroup]&&e._groupCallbacks[t.shapeB.collisionGroup].call(e._groupCallbackContext[t.shapeB.collisionGroup],e,i,t.shapeA,t.shapeB),i._groupCallbacks[t.shapeA.collisionGroup]&&i._groupCallbacks[t.shapeA.collisionGroup].call(i._groupCallbackContext[t.shapeA.collisionGroup],i,e,t.shapeB,t.shapeA)}},beginContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onBeginContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyA.parent&&t.bodyA.parent.onBeginContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB,t.contactEquations),t.bodyB.parent&&t.bodyB.parent.onBeginContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA,t.contactEquations))},endContactHandler:function(t){t.bodyA&&t.bodyB&&(this.onEndContact.dispatch(t.bodyA,t.bodyB,t.shapeA,t.shapeB),t.bodyA.parent&&t.bodyA.parent.onEndContact.dispatch(t.bodyB.parent,t.bodyB,t.shapeA,t.shapeB),t.bodyB.parent&&t.bodyB.parent.onEndContact.dispatch(t.bodyA.parent,t.bodyA,t.shapeB,t.shapeA))},setBoundsToWorld:function(t,e,i,s,n){this.setBounds(this.game.world.bounds.x,this.game.world.bounds.y,this.game.world.bounds.width,this.game.world.bounds.height,t,e,i,s,n)},setWorldMaterial:function(t,e,i,s,n){void 0===e&&(e=!0),void 0===i&&(i=!0),void 0===s&&(s=!0),void 0===n&&(n=!0),e&&this.walls.left&&(this.walls.left.shapes[0].material=t),i&&this.walls.right&&(this.walls.right.shapes[0].material=t),s&&this.walls.top&&(this.walls.top.shapes[0].material=t),n&&this.walls.bottom&&(this.walls.bottom.shapes[0].material=t)},updateBoundsCollisionGroup:function(t){void 0===t&&(t=!0);var e=t?this.boundsCollisionGroup.mask:this.everythingCollisionGroup.mask;this.walls.left&&(this.walls.left.shapes[0].collisionGroup=e),this.walls.right&&(this.walls.right.shapes[0].collisionGroup=e),this.walls.top&&(this.walls.top.shapes[0].collisionGroup=e),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionGroup=e),this._boundsOwnGroup=t},setBounds:function(t,e,i,s,n,r,o,a,h){void 0===n&&(n=this._boundsLeft),void 0===r&&(r=this._boundsRight),void 0===o&&(o=this._boundsTop),void 0===a&&(a=this._boundsBottom),void 0===h&&(h=this._boundsOwnGroup),this.setupWall(n,"left",t,e,1.5707963267948966,h),this.setupWall(r,"right",t+i,e,-1.5707963267948966,h),this.setupWall(o,"top",t,e,-3.141592653589793,h),this.setupWall(a,"bottom",t,e+s,0,h),this._boundsLeft=n,this._boundsRight=r,this._boundsTop=o,this._boundsBottom=a,this._boundsOwnGroup=h},setupWall:function(t,e,i,s,n,r){t?(this.walls[e]?this.walls[e].position=[this.pxmi(i),this.pxmi(s)]:(this.walls[e]=new p2.Body({mass:0,position:[this.pxmi(i),this.pxmi(s)],angle:n}),this.walls[e].addShape(new p2.Plane),this.world.addBody(this.walls[e])),r&&(this.walls[e].shapes[0].collisionGroup=this.boundsCollisionGroup.mask)):this.walls[e]&&(this.world.removeBody(this.walls[e]),this.walls[e]=null)},pause:function(){this.paused=!0},resume:function(){this.paused=!1},update:function(){this.paused||(this.useElapsedTime?this.world.step(this.game.time.physicsElapsed):this.world.step(this.frameRate))},reset:function(){this.world.on("beginContact",this.beginContactHandler,this),this.world.on("endContact",this.endContactHandler,this),this.nothingCollisionGroup=new e.Physics.P2.CollisionGroup(1),this.boundsCollisionGroup=new e.Physics.P2.CollisionGroup(2),this.everythingCollisionGroup=new e.Physics.P2.CollisionGroup(2147483648),this._collisionGroupID=2,this.setBoundsToWorld(!0,!0,!0,!0,!1)},clear:function(){this.world.time=0,this.world.fixedStepTime=0,this.world.solver&&this.world.solver.equations.length&&this.world.solver.removeAllEquations();for(var t=this.world.constraints,e=t.length-1;e>=0;e--)this.world.removeConstraint(t[e]);for(var i=this.world.bodies,e=i.length-1;e>=0;e--)this.world.removeBody(i[e]);for(var s=this.world.springs,e=s.length-1;e>=0;e--)this.world.removeSpring(s[e]);for(var n=this.world.contactMaterials,e=n.length-1;e>=0;e--)this.world.removeContactMaterial(n[e]);this.world.off("beginContact",this.beginContactHandler,this),this.world.off("endContact",this.endContactHandler,this),this.postBroadphaseCallback=null,this.callbackContext=null,this.impactCallback=null,this.collisionGroups=[],this._toRemove=[],this.boundsCollidesWith=[],this.walls={left:null,right:null,top:null,bottom:null}},destroy:function(){this.clear(),this.game=null},addBody:function(t){return!t.data.world&&(this.world.addBody(t.data),this.onBodyAdded.dispatch(t),!0)},removeBody:function(t){return t.data.world===this.world&&(this.world.removeBody(t.data),this.onBodyRemoved.dispatch(t)),t},addSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.addSpring(t.data):this.world.addSpring(t),this.onSpringAdded.dispatch(t),t},removeSpring:function(t){return t instanceof e.Physics.P2.Spring||t instanceof e.Physics.P2.RotationalSpring?this.world.removeSpring(t.data):this.world.removeSpring(t),this.onSpringRemoved.dispatch(t),t},createDistanceConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.DistanceConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createGearConstraint:function(t,i,s,n){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.GearConstraint(this,t,i,s,n));console.warn("Cannot create Constraint, invalid body objects given")},createRevoluteConstraint:function(t,i,s,n,r,o){if(t=this.getBody(t),s=this.getBody(s),t&&s)return this.addConstraint(new e.Physics.P2.RevoluteConstraint(this,t,i,s,n,r,o));console.warn("Cannot create Constraint, invalid body objects given")},createLockConstraint:function(t,i,s,n,r){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.LockConstraint(this,t,i,s,n,r));console.warn("Cannot create Constraint, invalid body objects given")},createPrismaticConstraint:function(t,i,s,n,r,o,a){if(t=this.getBody(t),i=this.getBody(i),t&&i)return this.addConstraint(new e.Physics.P2.PrismaticConstraint(this,t,i,s,n,r,o,a));console.warn("Cannot create Constraint, invalid body objects given")},addConstraint:function(t){return this.world.addConstraint(t),this.onConstraintAdded.dispatch(t),t},removeConstraint:function(t){return this.world.removeConstraint(t),this.onConstraintRemoved.dispatch(t),t},addContactMaterial:function(t){return this.world.addContactMaterial(t),this.onContactMaterialAdded.dispatch(t),t},removeContactMaterial:function(t){return this.world.removeContactMaterial(t),this.onContactMaterialRemoved.dispatch(t),t},getContactMaterial:function(t,e){return this.world.getContactMaterial(t,e)},setMaterial:function(t,e){for(var i=e.length;i--;)e[i].setMaterial(t)},createMaterial:function(t,i){t=t||"";var s=new e.Physics.P2.Material(t);return this.materials.push(s),void 0!==i&&i.setMaterial(s),s},createContactMaterial:function(t,i,s){void 0===t&&(t=this.createMaterial()),void 0===i&&(i=this.createMaterial());var n=new e.Physics.P2.ContactMaterial(t,i,s);return this.addContactMaterial(n)},getBodies:function(){for(var t=[],e=this.world.bodies.length;e--;)t.push(this.world.bodies[e].parent);return t},getBody:function(t){return t instanceof p2.Body?t:t instanceof e.Physics.P2.Body?t.data:t.body&&t.body.type===e.Physics.P2JS?t.body.data:null},getSprings:function(){for(var t=[],e=this.world.springs.length;e--;)t.push(this.world.springs[e].parent);return t},getConstraints:function(){for(var t=[],e=this.world.constraints.length;e--;)t.push(this.world.constraints[e]);return t},hitTest:function(t,i,s,n){void 0===i&&(i=this.world.bodies),void 0===s&&(s=5),void 0===n&&(n=!1);for(var r=[this.pxmi(t.x),this.pxmi(t.y)],o=[],a=i.length;a--;)i[a]instanceof e.Physics.P2.Body&&(!n||i[a].data.type!==p2.Body.STATIC)?o.push(i[a].data):i[a]instanceof p2.Body&&i[a].parent&&(!n||i[a].type!==p2.Body.STATIC)?o.push(i[a]):i[a]instanceof e.Sprite&&i[a].hasOwnProperty("body")&&(!n||i[a].body.data.type!==p2.Body.STATIC)&&o.push(i[a].body.data);return this.world.hitTest(r,o,s)},toJSON:function(){return this.world.toJSON()},createCollisionGroup:function(t){var i=Math.pow(2,this._collisionGroupID);this.walls.left&&(this.walls.left.shapes[0].collisionMask=this.walls.left.shapes[0].collisionMask|i),this.walls.right&&(this.walls.right.shapes[0].collisionMask=this.walls.right.shapes[0].collisionMask|i),this.walls.top&&(this.walls.top.shapes[0].collisionMask=this.walls.top.shapes[0].collisionMask|i),this.walls.bottom&&(this.walls.bottom.shapes[0].collisionMask=this.walls.bottom.shapes[0].collisionMask|i),this._collisionGroupID++;var s=new e.Physics.P2.CollisionGroup(i);return this.collisionGroups.push(s),t&&this.setCollisionGroup(t,s),s},setCollisionGroup:function(t,i){if(t instanceof e.Group)for(var s=0;s-1&&u.collides)if(s){var d=t.getTileRight(e,l,a);0===n&&(r=u.x*u.width,o=u.y*u.height,n=u.width),d&&d.collides?n+=u.width:((p=this.createBody(r,o,0,!1)).addRectangle(n,u.height,n/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p),n=0)}else{var p=this.createBody(u.x*u.width,u.y*u.height,0,!1);p.addRectangle(u.width,u.height,u.width/2,u.height/2,0),i&&this.addBody(p),t.layers[e].bodies.push(p)}}}return t.layers[e].bodies},mpx:function(t){return t*=20},pxm:function(t){return.05*t},mpxi:function(t){return t*=-20},pxmi:function(t){return-.05*t}},Object.defineProperty(e.Physics.P2.prototype,"friction",{get:function(){return this.world.defaultContactMaterial.friction},set:function(t){this.world.defaultContactMaterial.friction=t}}),Object.defineProperty(e.Physics.P2.prototype,"restitution",{get:function(){return this.world.defaultContactMaterial.restitution},set:function(t){this.world.defaultContactMaterial.restitution=t}}),Object.defineProperty(e.Physics.P2.prototype,"contactMaterial",{get:function(){return this.world.defaultContactMaterial},set:function(t){this.world.defaultContactMaterial=t}}),Object.defineProperty(e.Physics.P2.prototype,"applySpringForces",{get:function(){return this.world.applySpringForces},set:function(t){this.world.applySpringForces=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyDamping",{get:function(){return this.world.applyDamping},set:function(t){this.world.applyDamping=t}}),Object.defineProperty(e.Physics.P2.prototype,"applyGravity",{get:function(){return this.world.applyGravity},set:function(t){this.world.applyGravity=t}}),Object.defineProperty(e.Physics.P2.prototype,"solveConstraints",{get:function(){return this.world.solveConstraints},set:function(t){this.world.solveConstraints=t}}),Object.defineProperty(e.Physics.P2.prototype,"time",{get:function(){return this.world.time}}),Object.defineProperty(e.Physics.P2.prototype,"emitImpactEvent",{get:function(){return this.world.emitImpactEvent},set:function(t){this.world.emitImpactEvent=t}}),Object.defineProperty(e.Physics.P2.prototype,"sleepMode",{get:function(){return this.world.sleepMode},set:function(t){this.world.sleepMode=t}}),Object.defineProperty(e.Physics.P2.prototype,"total",{get:function(){return this.world.bodies.length}}),e.Physics.P2.FixtureList=function(t){Array.isArray(t)||(t=[t]),this.rawList=t,this.init(),this.parse(this.rawList)},e.Physics.P2.FixtureList.prototype={init:function(){this.namedFixtures={},this.groupedFixtures=[],this.allFixtures=[]},setCategory:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionGroup=t})},setMask:function(t,e){this.getFixtures(e).forEach(function(e){e.collisionMask=t})},setSensor:function(t,e){this.getFixtures(e).forEach(function(e){e.sensor=t})},setMaterial:function(t,e){this.getFixtures(e).forEach(function(e){e.material=t})},getFixtures:function(t){var e=[];if(t){t instanceof Array||(t=[t]);var i=this;return t.forEach(function(t){i.namedFixtures[t]&&e.push(i.namedFixtures[t])}),this.flatten(e)}return this.allFixtures},getFixtureByKey:function(t){return this.namedFixtures[t]},getGroup:function(t){return this.groupedFixtures[t]},parse:function(){var t,e,i,s;i=this.rawList,s=[];for(t in i)e=i[t],isNaN(t-0)?this.namedFixtures[t]=this.flatten(e):(this.groupedFixtures[t]=this.groupedFixtures[t]||[],this.groupedFixtures[t]=this.groupedFixtures[t].concat(e)),s.push(this.allFixtures=this.flatten(this.groupedFixtures))},flatten:function(t){var e,i;return e=[],i=arguments.callee,t.forEach(function(t){return Array.prototype.push.apply(e,Array.isArray(t)?i(t):[t])}),e}},e.Physics.P2.PointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.PointProxy.prototype.constructor=e.Physics.P2.PointProxy,Object.defineProperty(e.Physics.P2.PointProxy.prototype,"x",{get:function(){return this.world.mpx(this.destination[0])},set:function(t){this.destination[0]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"y",{get:function(){return this.world.mpx(this.destination[1])},set:function(t){this.destination[1]=this.world.pxm(t)}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=t}}),Object.defineProperty(e.Physics.P2.PointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=t}}),e.Physics.P2.InversePointProxy=function(t,e){this.world=t,this.destination=e},e.Physics.P2.InversePointProxy.prototype.constructor=e.Physics.P2.InversePointProxy,Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"x",{get:function(){return this.world.mpxi(this.destination[0])},set:function(t){this.destination[0]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"y",{get:function(){return this.world.mpxi(this.destination[1])},set:function(t){this.destination[1]=this.world.pxmi(t)}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"mx",{get:function(){return this.destination[0]},set:function(t){this.destination[0]=-t}}),Object.defineProperty(e.Physics.P2.InversePointProxy.prototype,"my",{get:function(){return this.destination[1]},set:function(t){this.destination[1]=-t}}),e.Physics.P2.Body=function(t,i,s,n,r){i=i||null,s=s||0,n=n||0,void 0===r&&(r=1),this.game=t,this.world=t.physics.p2,this.sprite=i,this.type=e.Physics.P2JS,this.offset=new e.Point,this.data=new p2.Body({position:[this.world.pxmi(s),this.world.pxmi(n)],mass:r}),this.data.parent=this,this.velocity=new e.Physics.P2.InversePointProxy(this.world,this.data.velocity),this.force=new e.Physics.P2.InversePointProxy(this.world,this.data.force),this.gravity=new e.Point,this.onBeginContact=new e.Signal,this.onEndContact=new e.Signal,this.collidesWith=[],this.removeNextStep=!1,this.debugBody=null,this.dirty=!1,this._collideWorldBounds=!0,this._bodyCallbacks={},this._bodyCallbackContext={},this._groupCallbacks={},this._groupCallbackContext={},this._reset=!1,i&&(this.setRectangleFromSprite(i),i.exists&&this.game.physics.p2.addBody(this))},e.Physics.P2.Body.prototype={createBodyCallback:function(t,e,i){var s=-1;t.id?s=t.id:t.body&&(s=t.body.id),s>-1&&(null===e?(delete this._bodyCallbacks[s],delete this._bodyCallbackContext[s]):(this._bodyCallbacks[s]=e,this._bodyCallbackContext[s]=i))},createGroupCallback:function(t,e,i){null===e?(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]):(this._groupCallbacks[t.mask]=e,this._groupCallbackContext[t.mask]=i)},getCollisionMask:function(){var t=0;this._collideWorldBounds&&(t=this.game.physics.p2.boundsCollisionGroup.mask);for(var e=0;e=0;i--)this.data.shapes[i].collisionMask=e;else t.collisionMask=e},setCollisionGroup:function(t,e){var i=this.getCollisionMask();if(void 0===e)for(var s=this.data.shapes.length-1;s>=0;s--)this.data.shapes[s].collisionGroup=t.mask,this.data.shapes[s].collisionMask=i;else e.collisionGroup=t.mask,e.collisionMask=i},clearCollision:function(t,e,i){if(void 0===t&&(t=!0),void 0===e&&(e=!0),void 0===i)for(var s=this.data.shapes.length-1;s>=0;s--)t&&(this.data.shapes[s].collisionGroup=null),e&&(this.data.shapes[s].collisionMask=null);else t&&(i.collisionGroup=null),e&&(i.collisionMask=null);t&&(this.collidesWith.length=0)},removeCollisionGroup:function(t,e,i){void 0===e&&(e=!0);var s;if(Array.isArray(t))for(r=0;r-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));else(s=this.collidesWith.indexOf(t))>-1&&(this.collidesWith.splice(s,1),e&&(delete this._groupCallbacks[t.mask],delete this._groupCallbackContext[t.mask]));var n=this.getCollisionMask();if(void 0===i)for(var r=this.data.shapes.length-1;r>=0;r--)this.data.shapes[r].collisionMask=n;else i.collisionMask=n},collides:function(t,e,i,s){if(Array.isArray(t))for(r=0;r=0;r--)this.data.shapes[r].collisionMask=n;else s.collisionMask=n},adjustCenterOfMass:function(){this.data.adjustCenterOfMass(),this.shapeChanged()},getVelocityAtPoint:function(t,e){return this.data.getVelocityAtPoint(t,e)},applyDamping:function(t){this.data.applyDamping(t)},applyImpulse:function(t,e,i){this.data.applyImpulse(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyImpulseLocal:function(t,e,i){this.data.applyImpulseLocal(t,[this.world.pxmi(e),this.world.pxmi(i)])},applyForce:function(t,e,i){this.data.applyForce(t,[this.world.pxmi(e),this.world.pxmi(i)])},setZeroForce:function(){this.data.setZeroForce()},setZeroRotation:function(){this.data.angularVelocity=0},setZeroVelocity:function(){this.data.velocity[0]=0,this.data.velocity[1]=0},setZeroDamping:function(){this.data.damping=0,this.data.angularDamping=0},toLocalFrame:function(t,e){return this.data.toLocalFrame(t,e)},toWorldFrame:function(t,e){return this.data.toWorldFrame(t,e)},rotateLeft:function(t){this.data.angularVelocity=this.world.pxm(-t)},rotateRight:function(t){this.data.angularVelocity=this.world.pxm(t)},moveForward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=e*Math.cos(i),this.data.velocity[1]=e*Math.sin(i)},moveBackward:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.velocity[0]=-e*Math.cos(i),this.data.velocity[1]=-e*Math.sin(i)},thrust:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustLeft:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]+=e*Math.cos(i),this.data.force[1]+=e*Math.sin(i)},thrustRight:function(t){var e=this.world.pxmi(-t),i=this.data.angle;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},reverse:function(t){var e=this.world.pxmi(-t),i=this.data.angle+Math.PI/2;this.data.force[0]-=e*Math.cos(i),this.data.force[1]-=e*Math.sin(i)},moveLeft:function(t){this.data.velocity[0]=this.world.pxmi(-t)},moveRight:function(t){this.data.velocity[0]=this.world.pxmi(t)},moveUp:function(t){this.data.velocity[1]=this.world.pxmi(-t)},moveDown:function(t){this.data.velocity[1]=this.world.pxmi(t)},preUpdate:function(){this.dirty=!0,this.removeNextStep&&(this.removeFromWorld(),this.removeNextStep=!1)},postUpdate:function(){this.sprite.x=this.world.mpxi(this.data.position[0])+this.offset.x,this.sprite.y=this.world.mpxi(this.data.position[1])+this.offset.y,this.fixedRotation||(this.sprite.rotation=this.data.angle),this.debugBody&&this.debugBody.updateSpriteTransform(),this.dirty=!1},reset:function(t,e,i,s){void 0===i&&(i=!1),void 0===s&&(s=!1),this.setZeroForce(),this.setZeroVelocity(),this.setZeroRotation(),i&&this.setZeroDamping(),s&&(this.mass=1),this.x=t,this.y=e},addToWorld:function(){if(this.game.physics.p2._toRemove)for(var t=0;t=0;i--)this.data.shapes[i].material=t;else e.material=t},shapeChanged:function(){this.debugBody&&this.debugBody.draw()},addPhaserPolygon:function(t,e){for(var i=this.game.cache.getPhysicsData(t,e),s=[],n=0;n=0?dp;n=p>=0?++d:--d)l=e.vertices[n],p2.vec2.rotate(u,l,t),c.push([(u[0]+a[0])*this.ppu,-(u[1]+a[1])*this.ppu]);this.drawConvex(h,c,e.triangles,16711680,i,r,this.settings.debugPolygons,[a[0]*this.ppu,-a[1]*this.ppu])}s++}}},drawRectangle:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1),t.beginFill(a),t.drawRect(e-n/2,i-r/2,n,r)},drawCircle:function(t,e,i,s,n,r,o){void 0===o&&(o=1),void 0===r&&(r=16777215),t.lineStyle(o,0,1),t.beginFill(r,1),t.drawCircle(e,i,2*-n),t.endFill(),t.moveTo(e,i),t.lineTo(e+n*Math.cos(-s),i+n*Math.sin(-s))},drawLine:function(t,e,i,s){void 0===s&&(s=1),void 0===i&&(i=0),t.lineStyle(5*s,i,1),t.moveTo(-e/2,0),t.lineTo(e/2,0)},drawConvex:function(t,e,i,s,n,r,o,a){var h,l,c,u,d,p,f,g,m,y,v;if(void 0===r&&(r=1),void 0===s&&(s=0),o){for(h=[16711680,65280,255],l=0;l!==e.length+1;)u=e[l%e.length],d=e[(l+1)%e.length],f=u[0],y=u[1],g=d[0],v=d[1],t.lineStyle(r,h[l%h.length],1),t.moveTo(f,-y),t.lineTo(g,-v),t.drawCircle(f,-y,2*r),l++;return t.lineStyle(r,0,1),t.drawCircle(a[0],a[1],2*r)}for(t.lineStyle(r,s,1),t.beginFill(n),l=0;l!==e.length;)p=(c=e[l])[0],m=c[1],0===l?t.moveTo(p,-m):t.lineTo(p,-m),l++;if(t.endFill(),e.length>2)return t.moveTo(e[e.length-1][0],-e[e.length-1][1]),t.lineTo(e[0][0],-e[0][1])},drawPath:function(t,e,i,s,n){var r,o,a,h,l,c,u,d,p,f,g;for(void 0===n&&(n=1),void 0===i&&(i=0),t.lineStyle(n,i,1),"number"==typeof s&&t.beginFill(s),o=null,a=null,r=0;r2&&"number"==typeof s&&(t.moveTo(e[e.length-1][0],e[e.length-1][1]),t.lineTo(e[0][0],e[0][1]))},drawPlane:function(t,e,i,s,n,r,o,a,h,l){var c,u;void 0===r&&(r=1),void 0===s&&(s=16777215),t.lineStyle(r,n,11),t.beginFill(s),t.moveTo(e,-i),c=e+Math.cos(l)*this.game.width,u=i+Math.sin(l)*this.game.height,t.lineTo(c,-u),t.moveTo(e,-i),c=e+Math.cos(l)*-this.game.width,u=i+Math.sin(l)*-this.game.height,t.lineTo(c,-u)},drawCapsule:function(t,e,i,s,n,r,o,a,h){void 0===h&&(h=1),void 0===o&&(o=0),t.lineStyle(h,o,1);var l=Math.cos(s),c=Math.sin(s);t.beginFill(a,1),t.drawCircle(-n/2*l+e,-n/2*c+i,2*-r),t.drawCircle(n/2*l+e,n/2*c+i,2*-r),t.endFill(),t.lineStyle(h,o,0),t.beginFill(a,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i),t.lineTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.endFill(),t.lineStyle(h,o,1),t.moveTo(-n/2*l+r*c+e,-n/2*c+r*l+i),t.lineTo(n/2*l+r*c+e,n/2*c+r*l+i),t.moveTo(-n/2*l-r*c+e,-n/2*c-r*l+i),t.lineTo(n/2*l-r*c+e,n/2*c-r*l+i)},randomPastelHex:function(){var t,e,i,s;return i=[255,255,255],s=Math.floor(256*Math.random()),e=Math.floor(256*Math.random()),t=Math.floor(256*Math.random()),s=Math.floor((s+3*i[0])/4),e=Math.floor((e+3*i[1])/4),t=Math.floor((t+3*i[2])/4),this.rgbToHex(s,e,t)},rgbToHex:function(t,e,i){return this.componentToHex(t)+this.componentToHex(e)+this.componentToHex(i)},componentToHex:function(t){var e;return 2===(e=t.toString(16)).length?e:e+"0"}}),e.Physics.P2.Spring=function(t,e,i,s,n,r,o,a,h,l){this.game=t.game,this.world=t,void 0===s&&(s=1),void 0===n&&(n=100),void 0===r&&(r=1);var c={restLength:s=t.pxm(s),stiffness:n,damping:r};void 0!==o&&null!==o&&(c.worldAnchorA=[t.pxm(o[0]),t.pxm(o[1])]),void 0!==a&&null!==a&&(c.worldAnchorB=[t.pxm(a[0]),t.pxm(a[1])]),void 0!==h&&null!==h&&(c.localAnchorA=[t.pxm(h[0]),t.pxm(h[1])]),void 0!==l&&null!==l&&(c.localAnchorB=[t.pxm(l[0]),t.pxm(l[1])]),this.data=new p2.LinearSpring(e,i,c),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.RotationalSpring=function(t,e,i,s,n,r){this.game=t.game,this.world=t,void 0===s&&(s=null),void 0===n&&(n=100),void 0===r&&(r=1),s&&(s=t.pxm(s));var o={restAngle:s,stiffness:n,damping:r};this.data=new p2.RotationalSpring(e,i,o),this.data.parent=this},e.Physics.P2.Spring.prototype.constructor=e.Physics.P2.Spring,e.Physics.P2.Material=function(t){this.name=t,p2.Material.call(this)},e.Physics.P2.Material.prototype=Object.create(p2.Material.prototype),e.Physics.P2.Material.prototype.constructor=e.Physics.P2.Material,e.Physics.P2.ContactMaterial=function(t,e,i){p2.ContactMaterial.call(this,t,e,i)},e.Physics.P2.ContactMaterial.prototype=Object.create(p2.ContactMaterial.prototype),e.Physics.P2.ContactMaterial.prototype.constructor=e.Physics.P2.ContactMaterial,e.Physics.P2.CollisionGroup=function(t){this.mask=t},e.Physics.P2.DistanceConstraint=function(t,e,i,s,n,r,o){void 0===s&&(s=100),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=Number.MAX_VALUE),this.game=t.game,this.world=t;var a={distance:s=t.pxm(s),localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],maxForce:o};p2.DistanceConstraint.call(this,e,i,a)},e.Physics.P2.DistanceConstraint.prototype=Object.create(p2.DistanceConstraint.prototype),e.Physics.P2.DistanceConstraint.prototype.constructor=e.Physics.P2.DistanceConstraint,e.Physics.P2.GearConstraint=function(t,e,i,s,n){void 0===s&&(s=0),void 0===n&&(n=1),this.game=t.game,this.world=t;var r={angle:s,ratio:n};p2.GearConstraint.call(this,e,i,r)},e.Physics.P2.GearConstraint.prototype=Object.create(p2.GearConstraint.prototype),e.Physics.P2.GearConstraint.prototype.constructor=e.Physics.P2.GearConstraint,e.Physics.P2.LockConstraint=function(t,e,i,s,n,r){void 0===s&&(s=[0,0]),void 0===n&&(n=0),void 0===r&&(r=Number.MAX_VALUE),this.game=t.game,this.world=t;var o={localOffsetB:s=[t.pxm(s[0]),t.pxm(s[1])],localAngleB:n,maxForce:r};p2.LockConstraint.call(this,e,i,o)},e.Physics.P2.LockConstraint.prototype=Object.create(p2.LockConstraint.prototype),e.Physics.P2.LockConstraint.prototype.constructor=e.Physics.P2.LockConstraint,e.Physics.P2.PrismaticConstraint=function(t,e,i,s,n,r,o,a){void 0===s&&(s=!0),void 0===n&&(n=[0,0]),void 0===r&&(r=[0,0]),void 0===o&&(o=[0,0]),void 0===a&&(a=Number.MAX_VALUE),this.game=t.game,this.world=t;var h={localAnchorA:n=[t.pxmi(n[0]),t.pxmi(n[1])],localAnchorB:r=[t.pxmi(r[0]),t.pxmi(r[1])],localAxisA:o,maxForce:a,disableRotationalLock:!s};p2.PrismaticConstraint.call(this,e,i,h)},e.Physics.P2.PrismaticConstraint.prototype=Object.create(p2.PrismaticConstraint.prototype),e.Physics.P2.PrismaticConstraint.prototype.constructor=e.Physics.P2.PrismaticConstraint,e.Physics.P2.RevoluteConstraint=function(t,e,i,s,n,r,o){void 0===r&&(r=Number.MAX_VALUE),void 0===o&&(o=null),this.game=t.game,this.world=t,i=[t.pxmi(i[0]),t.pxmi(i[1])],n=[t.pxmi(n[0]),t.pxmi(n[1])],o&&(o=[t.pxmi(o[0]),t.pxmi(o[1])]);var a={worldPivot:o,localPivotA:i,localPivotB:n,maxForce:r};p2.RevoluteConstraint.call(this,e,s,a)},e.Physics.P2.RevoluteConstraint.prototype=Object.create(p2.RevoluteConstraint.prototype),e.Physics.P2.RevoluteConstraint.prototype.constructor=e.Physics.P2.RevoluteConstraint,e.ImageCollection=function(t,e,i,s,n,r,o){(void 0===i||i<=0)&&(i=32),(void 0===s||s<=0)&&(s=32),void 0===n&&(n=0),void 0===r&&(r=0),this.name=t,this.firstgid=0|e,this.imageWidth=0|i,this.imageHeight=0|s,this.imageMargin=0|n,this.imageSpacing=0|r,this.properties=o||{},this.images=[],this.total=0},e.ImageCollection.prototype={containsImageIndex:function(t){return t>=this.firstgid&&tthis.right||e>this.bottom)},intersects:function(t,e,i,s){return!(i<=this.worldX)&&(!(s<=this.worldY)&&(!(t>=this.worldX+this.width)&&!(e>=this.worldY+this.height)))},setCollisionCallback:function(t,e){this.collisionCallback=t,this.collisionCallbackContext=e},destroy:function(){this.collisionCallback=null,this.collisionCallbackContext=null,this.properties=null},setCollision:function(t,e,i,s){this.collideLeft=t,this.collideRight=e,this.collideUp=i,this.collideDown=s,this.faceLeft=t,this.faceRight=e,this.faceTop=i,this.faceBottom=s},resetCollision:function(){this.collideLeft=!1,this.collideRight=!1,this.collideUp=!1,this.collideDown=!1,this.faceTop=!1,this.faceBottom=!1,this.faceLeft=!1,this.faceRight=!1},isInteresting:function(t,e){return t&&e?this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.faceTop||this.faceBottom||this.faceLeft||this.faceRight||this.collisionCallback:t?this.collideLeft||this.collideRight||this.collideUp||this.collideDown:!!e&&(this.faceTop||this.faceBottom||this.faceLeft||this.faceRight)},copy:function(t){this.index=t.index,this.alpha=t.alpha,this.properties=t.properties,this.collideUp=t.collideUp,this.collideDown=t.collideDown,this.collideLeft=t.collideLeft,this.collideRight=t.collideRight,this.collisionCallback=t.collisionCallback,this.collisionCallbackContext=t.collisionCallbackContext}},e.Tile.prototype.constructor=e.Tile,Object.defineProperty(e.Tile.prototype,"collides",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown}}),Object.defineProperty(e.Tile.prototype,"canCollide",{get:function(){return this.collideLeft||this.collideRight||this.collideUp||this.collideDown||this.collisionCallback}}),Object.defineProperty(e.Tile.prototype,"left",{get:function(){return this.worldX}}),Object.defineProperty(e.Tile.prototype,"right",{get:function(){return this.worldX+this.width}}),Object.defineProperty(e.Tile.prototype,"top",{get:function(){return this.worldY}}),Object.defineProperty(e.Tile.prototype,"bottom",{get:function(){return this.worldY+this.height}}),e.Tilemap=function(t,i,s,n,r,o){this.game=t,this.key=i;var a=e.TilemapParser.parse(this.game,i,s,n,r,o);null!==a&&(this.width=a.width,this.height=a.height,this.tileWidth=a.tileWidth,this.tileHeight=a.tileHeight,this.orientation=a.orientation,this.format=a.format,this.version=a.version,this.properties=a.properties,this.widthInPixels=a.widthInPixels,this.heightInPixels=a.heightInPixels,this.layers=a.layers,this.tilesets=a.tilesets,this.imagecollections=a.imagecollections,this.tiles=a.tiles,this.objects=a.objects,this.collideIndexes=[],this.collision=a.collision,this.images=a.images,this.enableDebug=!1,this.currentLayer=0,this.debugMap=[],this._results=[],this._tempA=0,this._tempB=0)},e.Tilemap.CSV=0,e.Tilemap.TILED_JSON=1,e.Tilemap.NORTH=0,e.Tilemap.EAST=1,e.Tilemap.SOUTH=2,e.Tilemap.WEST=3,e.Tilemap.prototype={create:function(t,e,i,s,n,r){return void 0===r&&(r=this.game.world),this.width=e,this.height=i,this.setTileSize(s,n),this.layers.length=0,this.createBlankLayer(t,e,i,s,n,r)},setTileSize:function(t,e){this.tileWidth=t,this.tileHeight=e,this.widthInPixels=this.width*t,this.heightInPixels=this.height*e},addTilesetImage:function(t,i,s,n,r,o,a){if(void 0===t)return null;void 0===s&&(s=this.tileWidth),void 0===n&&(n=this.tileHeight),void 0===r&&(r=0),void 0===o&&(o=0),void 0===a&&(a=0),0===s&&(s=32),0===n&&(n=32);var h=null;if(void 0!==i&&null!==i||(i=t),i instanceof e.BitmapData)h=i.canvas;else{if(!this.game.cache.checkImageKey(i))return console.warn('Phaser.Tilemap.addTilesetImage: Invalid image key given: "'+i+'"'),null;h=this.game.cache.getImage(i)}var l=this.getTilesetIndex(t);if(null===l&&this.format===e.Tilemap.TILED_JSON)return console.warn('Phaser.Tilemap.addTilesetImage: No data found in the JSON matching the tileset name: "'+t+'"'),console.log("Tilesets: ",this.tilesets),null;if(this.tilesets[l])return this.tilesets[l].setImage(h),this.tilesets[l];var c=new e.Tileset(t,a,s,n,r,o,{});c.setImage(h),this.tilesets.push(c);for(var u=this.tilesets.length-1,d=r,p=r,f=0,g=0,m=0,y=a;y1)for(u=0;uthis.layers.length)return console.warn('Tilemap.createLayer: Invalid layer ID given: "'+t+'"'),void console.log("Layers: ",this.layers);void 0===i||i<=0?i=Math.min(this.game.width,this.layers[r].widthInPixels):i>this.game.width&&(i=this.game.width),void 0===s||s<=0?s=Math.min(this.game.height,this.layers[r].heightInPixels):s>this.game.height&&(s=this.game.height),this.enableDebug&&(console.group("Tilemap.createLayer"),console.log("Name:",this.layers[r].name),console.log("Size:",i,"x",s),console.log("Tileset:",this.tilesets[0].name,"index:",r));var o=n.add(new e.TilemapLayer(this.game,this,r,i,s));return this.enableDebug&&console.groupEnd(),o},createBlankLayer:function(t,i,s,n,r,o){void 0===o&&(o=this.game.world);{if(null===this.getLayerIndex(t)){for(var a,h={name:t,x:0,y:0,width:i,height:s,widthInPixels:i*n,heightInPixels:s*r,alpha:1,visible:!0,properties:{},indexes:[],callbacks:[],bodies:[],data:null},l=[],c=0;cthis.game.width&&(d=this.game.width),p>this.game.height&&(p=this.game.height),(l=new e.TilemapLayer(this.game,this,this.layers.length-1,d,p)).name=t,o.add(l)}console.warn("Tilemap.createBlankLayer: Layer with matching name already exists: "+t)}},getIndex:function(t,e){for(var i=0;ie)){for(var r=t;r<=e;r++)this.setCollisionByIndex(r,i,s,!1);n&&this.calculateFaces(s)}},setCollisionByExclusion:function(t,e,i,s){void 0===e&&(e=!0),void 0===s&&(s=!0),i=this.getLayer(i);for(var n=0,r=this.tiles.length;n-1&&this.collideIndexes.splice(n,1)}for(var r=0;r0?this.layers[t].data[i-1][e]:null},getTileBelow:function(t,e,i){return i0?this.layers[t].data[i][e-1]:null},getTileRight:function(t,e,i){return e-1},removeTile:function(t,i,s){if(s=this.getLayer(s),t>=0&&t=0&&i=0&&i=0&&s-1?this.layers[n].data[s][i].setCollision(!0,!0,!0,!0):this.layers[n].data[s][i].resetCollision(),this.layers[n].dirty=!0,this.calculateFaces(n),this.layers[n].data[s][i]}return null},putTileWorldXY:function(t,e,i,s,n,r){return r=this.getLayer(r),e=this.game.math.snapToFloor(e,s)/s,i=this.game.math.snapToFloor(i,n)/n,this.putTile(t,e,i,r)},searchTileIndex:function(t,e,i,s){void 0===e&&(e=0),void 0===i&&(i=!1),s=this.getLayer(s);var n=0;if(i){for(r=this.layers[s].height-1;r>=0;r--)for(o=this.layers[s].width-1;o>=0;o--)if(this.layers[s].data[r][o].index===t){if(n===e)return this.layers[s].data[r][o];n++}}else for(var r=0;r=0&&t=0&&ethis.layers[n].width&&(i=this.layers[n].width),s>this.layers[n].height&&(s=this.layers[n].height),this._results.length=0,this._results.push({x:t,y:e,width:i,height:s,layer:n});for(var r=e;r1?this.debugMap[this.layers[this.currentLayer].data[i][s]]?e.push("background: "+this.debugMap[this.layers[this.currentLayer].data[i][s]]):e.push("background: #ffffff"):e.push("background: rgb(0, 0, 0)");t+="\n"}e[0]=t,console.log.apply(console,e)},destroy:function(){this.removeAllLayers(),this.data=[],this.game=null}},e.Tilemap.prototype.constructor=e.Tilemap,Object.defineProperty(e.Tilemap.prototype,"layer",{get:function(){return this.layers[this.currentLayer]},set:function(t){t!==this.currentLayer&&this.setLayer(t)}}),e.TilemapLayer=function(t,i,s,n,r){n|=0,r|=0,e.Sprite.call(this,t,0,0),this.map=i,this.index=s,this.layer=i.layers[s],this.canvas=e.CanvasPool.create(this,n,r),this.context=this.canvas.getContext("2d"),this.setTexture(new PIXI.Texture(new PIXI.BaseTexture(this.canvas,null,this.game.resolution))),this.type=e.TILEMAPLAYER,this.physicsType=e.TILEMAPLAYER,this.renderSettings={enableScrollDelta:!0,overdrawRatio:.2,copyCanvas:null},this.debug=!1,this.exists=!0,this.debugSettings={missingImageFill:"rgb(255,255,255)",debuggedTileOverfill:"rgba(0,255,0,0.4)",forceFullRedraw:!0,debugAlpha:.5,facingEdgeStroke:"rgba(0,255,0,1)",collidingTileOverfill:"rgba(0,255,0,0.2)"},this.scrollFactorX=1,this.scrollFactorY=1,this.dirty=!0,this.rayStepRate=4,this._wrap=!1,this._mc={scrollX:0,scrollY:0,renderWidth:0,renderHeight:0,tileWidth:i.tileWidth,tileHeight:i.tileHeight,cw:i.tileWidth,ch:i.tileHeight,tilesets:[]},this._scrollX=0,this._scrollY=0,this.tileOffset=new e.Point(this.layer.offsetX||0,this.layer.offsetY||0),this._results=[],t.device.canvasBitBltShift||(this.renderSettings.copyCanvas=e.TilemapLayer.ensureSharedCopyCanvas()),this.fixedToCamera=!0},e.TilemapLayer.prototype=Object.create(e.Sprite.prototype),e.TilemapLayer.prototype.constructor=e.TilemapLayer,e.TilemapLayer.prototype.preUpdateCore=e.Component.Core.preUpdate,e.TilemapLayer.sharedCopyCanvas=null,e.TilemapLayer.ensureSharedCopyCanvas=function(){return this.sharedCopyCanvas||(this.sharedCopyCanvas=e.CanvasPool.create(this,2,2)),this.sharedCopyCanvas},e.TilemapLayer.prototype.preUpdate=function(){return this.preUpdateCore()},e.TilemapLayer.prototype.postUpdate=function(){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y},e.TilemapLayer.prototype._renderCanvas=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderCanvas.call(this,t)},e.TilemapLayer.prototype._renderWebGL=function(t){this.fixedToCamera&&(this.position.x=(this.game.camera.view.x+this.cameraOffset.x)/this.game.camera.scale.x,this.position.y=(this.game.camera.view.y+this.cameraOffset.y)/this.game.camera.scale.y),this._scrollX=(this.game.camera.view.x-this.tileOffset.x)*this.scrollFactorX/this.scale.x,this._scrollY=(this.game.camera.view.y-this.tileOffset.y)*this.scrollFactorY/this.scale.y,this.render(),PIXI.Sprite.prototype._renderWebGL.call(this,t)},e.TilemapLayer.prototype.destroy=function(){e.CanvasPool.remove(this),e.Component.Destroy.prototype.destroy.call(this)},e.TilemapLayer.prototype.resize=function(t,e){this.canvas.width=t,this.canvas.height=e,this.texture.frame.resize(t,e),this.texture.width=t,this.texture.height=e,this.texture.crop.width=t,this.texture.crop.height=e,this.texture.baseTexture.width=t,this.texture.baseTexture.height=e,this.texture.baseTexture.dirty(),this.texture.requiresUpdate=!0,this.texture._updateUvs(),this.dirty=!0},e.TilemapLayer.prototype.resizeWorld=function(){this.game.world.setBounds(0,0,this.layer.widthInPixels*this.scale.x,this.layer.heightInPixels*this.scale.y)},e.TilemapLayer.prototype.getTileOffsetX=function(){return this.tileOffset.x||(this.fixedToCamera?0:this.position.x)},e.TilemapLayer.prototype.getTileOffsetY=function(){return this.tileOffset.y||(this.fixedToCamera?0:this.position.y)},e.TilemapLayer.prototype._fixX=function(t){return 1===this.scrollFactorX||0===this.scrollFactorX&&0===this.position.x?t:0===this.scrollFactorX&&0!==this.position.x?t-this.position.x:this._scrollX+(t-this._scrollX/this.scrollFactorX)},e.TilemapLayer.prototype._unfixX=function(t){return 1===this.scrollFactorX?t:this._scrollX/this.scrollFactorX+(t-this._scrollX)},e.TilemapLayer.prototype._fixY=function(t){return 1===this.scrollFactorY||0===this.scrollFactorY&&0===this.position.y?t:0===this.scrollFactorY&&0!==this.position.y?t-this.position.y:this._scrollY+(t-this._scrollY/this.scrollFactorY)},e.TilemapLayer.prototype._unfixY=function(t){return 1===this.scrollFactorY?t:this._scrollY/this.scrollFactorY+(t-this._scrollY)},e.TilemapLayer.prototype.getTileX=function(t){return Math.floor(this._fixX(t)/this._mc.tileWidth)},e.TilemapLayer.prototype.getTileY=function(t){return Math.floor(this._fixY(t)/this._mc.tileHeight)},e.TilemapLayer.prototype.getTileXY=function(t,e,i){return i.x=this.getTileX(t),i.y=this.getTileY(e),i},e.TilemapLayer.prototype.getRayCastTiles=function(t,e,i,s){e||(e=this.rayStepRate),void 0===i&&(i=!1),void 0===s&&(s=!1);var n=this.getTiles(t.x,t.y,t.width,t.height,i,s);if(0===n.length)return[];for(var r=t.coordinatesOnLine(e),o=[],a=0;a=0;m++,v--,f+=c){m>=h&&(m-=h);var _=this.layer.data[m];for(g=b,y=n-i,p=x;y>=0;g++,y--,p+=l){g>=a&&(g-=a);var w=_[g];if(w&&!(w.index<0)){var T=w.index,P=u[T];void 0===P&&(P=this.resolveTileset(T)),w.alpha===d||this.debug||(o.globalAlpha=w.alpha,d=w.alpha),P?w.rotation||w.flipped?(o.save(),o.translate(p+w.centerX,f+w.centerY),o.rotate(w.rotation),w.flipped&&o.scale(-1,1),P.draw(o,-w.centerX,-w.centerY,T),o.restore()):P.draw(o,p,f,T):this.debugSettings.missingImageFill&&(o.fillStyle=this.debugSettings.missingImageFill,o.fillRect(p,f,l,c)),w.debug&&this.debugSettings.debuggedTileOverfill&&(o.fillStyle=this.debugSettings.debuggedTileOverfill,o.fillRect(p,f,l,c))}}}},e.TilemapLayer.prototype.renderDeltaScroll=function(t,e){var i=this._mc.scrollX,s=this._mc.scrollY,n=this.canvas.width,r=this.canvas.height,o=this._mc.tileWidth,a=this._mc.tileHeight,h=0,l=-o,c=0,u=-a;if(t<0?(h=n+t,l=n-1):t>0&&(l=t),e<0?(c=r+e,u=r-1):e>0&&(u=e),this.shiftCanvas(this.context,t,e),h=Math.floor((h+i)/o),l=Math.floor((l+i)/o),c=Math.floor((c+s)/a),u=Math.floor((u+s)/a),h<=l){this.context.clearRect(h*o-i,0,(l-h+1)*o,r);var d=Math.floor((0+s)/a),p=Math.floor((r-1+s)/a);this.renderRegion(i,s,h,d,l,p)}if(c<=u){this.context.clearRect(0,c*a-s,n,(u-c+1)*a);var f=Math.floor((0+i)/o),g=Math.floor((n-1+i)/o);this.renderRegion(i,s,f,c,g,u)}},e.TilemapLayer.prototype.renderFull=function(){var t=this._mc.scrollX,e=this._mc.scrollY,i=this.canvas.width,s=this.canvas.height,n=this._mc.tileWidth,r=this._mc.tileHeight,o=Math.floor(t/n),a=Math.floor((i-1+t)/n),h=Math.floor(e/r),l=Math.floor((s-1+e)/r);this.context.clearRect(0,0,i,s),this.renderRegion(t,e,o,h,a,l)},e.TilemapLayer.prototype.render=function(){var t=!1;if(this.visible){(this.dirty||this.layer.dirty)&&(this.layer.dirty=!1,t=!0);var e=this.canvas.width,i=this.canvas.height,s=0|this._scrollX,n=0|this._scrollY,r=this._mc,o=r.scrollX-s,a=r.scrollY-n;if(t||0!==o||0!==a||r.renderWidth!==e||r.renderHeight!==i)return this.context.save(),r.scrollX=s,r.scrollY=n,r.renderWidth===e&&r.renderHeight===i||(r.renderWidth=e,r.renderHeight=i),this.debug&&(this.context.globalAlpha=this.debugSettings.debugAlpha,this.debugSettings.forceFullRedraw&&(t=!0)),!t&&this.renderSettings.enableScrollDelta&&Math.abs(o)+Math.abs(a)=0;s++,r--,e+=f){s>=d&&(s-=d);var T=this.layer.data[s];for(i=_,n=m-g,t=x;n>=0;i++,n--,t+=p){i>=u&&(i-=u);var P=T[i];!P||P.index<0||!P.collides||(this.debugSettings.collidingTileOverfill&&(h.fillStyle=this.debugSettings.collidingTileOverfill,h.fillRect(t,e,this._mc.cw,this._mc.ch)),this.debugSettings.facingEdgeStroke&&(h.beginPath(),P.faceTop&&(h.moveTo(t,e),h.lineTo(t+this._mc.cw,e)),P.faceBottom&&(h.moveTo(t,e+this._mc.ch),h.lineTo(t+this._mc.cw,e+this._mc.ch)),P.faceLeft&&(h.moveTo(t,e),h.lineTo(t,e+this._mc.ch)),P.faceRight&&(h.moveTo(t+this._mc.cw,e),h.lineTo(t+this._mc.cw,e+this._mc.ch)),h.closePath(),h.stroke()))}}},Object.defineProperty(e.TilemapLayer.prototype,"wrap",{get:function(){return this._wrap},set:function(t){this._wrap=t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollX",{get:function(){return this._scrollX},set:function(t){this._scrollX=t}}),Object.defineProperty(e.TilemapLayer.prototype,"scrollY",{get:function(){return this._scrollY},set:function(t){this._scrollY=t}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionWidth",{get:function(){return this._mc.cw},set:function(t){this._mc.cw=0|t,this.dirty=!0}}),Object.defineProperty(e.TilemapLayer.prototype,"collisionHeight",{get:function(){return this._mc.ch},set:function(t){this._mc.ch=0|t,this.dirty=!0}}),e.TilemapParser={INSERT_NULL:!1,parse:function(t,i,s,n,r,o){if(void 0===s&&(s=32),void 0===n&&(n=32),void 0===r&&(r=10),void 0===o&&(o=10),void 0===i)return this.getEmptyData();if(null===i)return this.getEmptyData(s,n,r,o);var a=t.cache.getTilemapData(i);if(a){if(a.format===e.Tilemap.CSV)return this.parseCSV(i,a.data,s,n);if(!a.format||a.format===e.Tilemap.TILED_JSON)return this.parseTiledJSON(a.data)}else console.warn('No map data found for key "%s"',i)},parseCSV:function(t,i,s,n){for(var r=this.getEmptyData(),o=[],a=(i=i.trim()).split("\n"),h=a.length,l=0,c=0;c1.1&&console.warn('Some features in this Tiled JSON map (version %s) may not work in Phaser CE. Enable the json1 plugin and reexport the map in "Tiled 1.1" format. https://github.com/photonstorm/phaser-ce/issues/623',t.version);for(var i={width:t.width,height:t.height,tileWidth:t.tilewidth,tileHeight:t.tileheight,orientation:t.orientation,format:e.Tilemap.TILED_JSON,version:t.version,properties:t.properties,widthInPixels:t.width*t.tilewidth,heightInPixels:t.height*t.tileheight},s=[],n=0;n>>0;r.data=h,delete r.encoding}else if(r.compression){console.warn('Layer compression is unsupported, skipping layer "%s".',r.name);continue}k={name:r.name,x:r.x,y:r.y,width:r.width,height:r.height,widthInPixels:r.width*t.tilewidth,heightInPixels:r.height*t.tileheight,alpha:r.opacity,offsetX:r.offsetx,offsetY:r.offsety,visible:r.visible,properties:{},indexes:[],callbacks:[],bodies:[]};r.properties&&(k.properties=r.properties);for(var c,u,d,p=0,f=[],g=[],m=0,a=r.data.length;m536870912)switch(A>2147483648&&(A-=2147483648,d+=4),A>1073741824&&(A-=1073741824,d+=2),A>536870912&&(A-=536870912,d+=1),d){case 5:c=Math.PI/2;break;case 6:c=Math.PI;break;case 3:c=3*Math.PI/2;break;case 4:c=0,u=!0;break;case 7:c=Math.PI/2,u=!0;break;case 2:c=Math.PI,u=!0;break;case 1:c=3*Math.PI/2,u=!0}A>0?((F=new e.Tile(k,A,p,g.length,t.tilewidth,t.tileheight)).rotation=c,F.flipped=u,0!==d&&(F.flippedVal=d),f.push(F)):e.TilemapParser.INSERT_NULL?f.push(null):f.push(new e.Tile(k,-1,p,g.length,t.tilewidth,t.tileheight)),++p===r.width&&(g.push(f),p=0,f=[])}k.data=g,s.push(k)}i.layers=s;for(var y=[],n=0;n=0&&n+1=this.firstgid&&t=this._timer)if(this._timer=this.game.time.time+this.frequency*this.game.time.slowMotion,0!==this._flowTotal)if(this._flowQuantity>0){for(t=0;t=this._flowTotal)){this.on=!1;break}}else this.emitParticle()&&(this._counter++,-1!==this._flowTotal&&this._counter>=this._flowTotal&&(this.on=!1));else this.emitParticle()&&(this._counter++,this._total>0&&this._counter>=this._total&&(this.on=!1));for(var t=this.children.length;t--;)this.children[t].exists&&this.children[t].update()},e.Particles.Arcade.Emitter.prototype.makeParticles=function(t,e,i,s,n,r){void 0===e&&(e=0),void 0===i&&(i=this.maxParticles),void 0===s&&(s=!1),void 0===n&&(n=!1),void 0===r&&(r=null);var o,a=0,h=t,l=e;for(this._frames=e,i>this.maxParticles&&(this.maxParticles=i);athis.maxParticles&&(i=this.maxParticles),this._counter=0,this._flowQuantity=i,this._flowTotal=s,n?(this.start(!0,t,e,i),this._counter+=i,this.on=!0,this._timer=this.game.time.time+e*this.game.time.slowMotion):this.start(!1,t,e,i),this},e.Particles.Arcade.Emitter.prototype.start=function(t,e,i,s,n){if(void 0===t&&(t=!0),void 0===e&&(e=0),void 0!==i&&null!==i||(i=250),void 0===s&&(s=0),void 0===n&&(n=!1),s>this.maxParticles&&(s=this.maxParticles),this.revive(),this.visible=!0,this.lifespan=e,this.frequency=i,t||n)for(var r=0;r1&&(o=r.between(this.left,this.right)),null!==e?a=e:this.height>1&&(a=r.between(this.top,this.bottom)),this.resetParticle(n,o,a),!0},e.Particles.Arcade.Emitter.prototype.getNextParticle=function(){for(var t=this.length;t--;){var e=this.next();if(!e.exists)return e}return null},e.Particles.Arcade.Emitter.prototype.resetParticle=function(t,e,i){var s=this.game.rnd;t.reset(e,i),t.angle=0,t.lifespan=this.lifespan,this.particleBringToTop?this.bringToTop(t):this.particleSendToBack&&this.sendToBack(t),this.autoScale?t.setScaleData(this.scaleData):1!==this.minParticleScale||1!==this.maxParticleScale?t.scale.set(s.realInRange(this.minParticleScale,this.maxParticleScale)):this._minParticleScale.x!==this._maxParticleScale.x||this._minParticleScale.y!==this._maxParticleScale.y?t.scale.set(s.realInRange(this._minParticleScale.x,this._maxParticleScale.x),s.realInRange(this._minParticleScale.y,this._maxParticleScale.y)):t.scale.set(this._minParticleScale.x,this._minParticleScale.y),this.autoAlpha?t.setAlphaData(this.alphaData):t.alpha=s.realInRange(this.minParticleAlpha,this.maxParticleAlpha),t.blendMode=this.blendMode;var n=t.body;n.updateBounds(),n.bounce.copyFrom(this.bounce),n.drag.copyFrom(this.particleDrag),null!=this.minAngle&&null!=this.maxAngle?this.game.physics.arcade.velocityFromAngle(this.minAngle===this.maxAngle?this.minAngle:s.between(this.minAngle,this.maxAngle),this.minSpeed===this.maxSpeed?this.minSpeed:s.between(this.minSpeed,this.maxSpeed),n.velocity):(n.velocity.x=s.between(this.minParticleSpeed.x,this.maxParticleSpeed.x),n.velocity.y=s.between(this.minParticleSpeed.y,this.maxParticleSpeed.y)),n.angularVelocity=s.between(this.minRotation,this.maxRotation),n.gravity.copyFrom(this.gravity),n.angularDrag=this.angularDrag,t.onEmit()},e.Particles.Arcade.Emitter.prototype.destroy=function(){this.game.particles.remove(this),e.Group.prototype.destroy.call(this,!0,!1)},e.Particles.Arcade.Emitter.prototype.setSize=function(t,e){return this.area.width=t,this.area.height=e,this},e.Particles.Arcade.Emitter.prototype.setXSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.x=t,this.maxParticleSpeed.x=e,this},e.Particles.Arcade.Emitter.prototype.setYSpeed=function(t,e){return t=t||0,e=e||0,this.minParticleSpeed.y=t,this.maxParticleSpeed.y=e,this},e.Particles.Arcade.Emitter.prototype.setRotation=function(t,e){return t=t||0,e=e||0,this.minRotation=t,this.maxRotation=e,this},e.Particles.Arcade.Emitter.prototype.setAlpha=function(t,i,s,n,r){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=0),void 0===n&&(n=e.Easing.Linear.None),void 0===r&&(r=!1),this.minParticleAlpha=t,this.maxParticleAlpha=i,this.autoAlpha=!1,s>0&&t!==i){var o={v:t},a=this.game.make.tween(o).to({v:i},s,n);a.yoyo(r),this.alphaData=a.generateData(60),this.alphaData.reverse(),this.autoAlpha=!0}return this},e.Particles.Arcade.Emitter.prototype.setScale=function(t,i,s,n,r,o,a){if(void 0===t&&(t=1),void 0===i&&(i=1),void 0===s&&(s=1),void 0===n&&(n=1),void 0===r&&(r=0),void 0===o&&(o=e.Easing.Linear.None),void 0===a&&(a=!1),this.minParticleScale=1,this.maxParticleScale=1,this._minParticleScale.set(t,s),this._maxParticleScale.set(i,n),this.autoScale=!1,r>0&&(t!==i||s!==n)){var h={x:t,y:s},l=this.game.make.tween(h).to({x:i,y:n},r,o);l.yoyo(a),this.scaleData=l.generateData(60),this.scaleData.reverse(),this.autoScale=!0}return this},e.Particles.Arcade.Emitter.prototype.setAngle=function(t,e,i,s){return this.minAngle=t,this.maxAngle=e,null!=i&&(this.minSpeed=i),null!=s&&(this.maxSpeed=s),this},e.Particles.Arcade.Emitter.prototype.at=function(t){return t.center?(this.emitX=t.center.x,this.emitY=t.center.y):(this.emitX=t.world.x+t.anchor.x*t.width,this.emitY=t.world.y+t.anchor.y*t.height),this},Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"gravity",{get:function(){return this._gravity},set:function(t){"number"==typeof t?this._gravity.y=t:this._gravity=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"id",{get:function(){return this._id}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"width",{get:function(){return this.area.width},set:function(t){this.area.width=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"height",{get:function(){return this.area.height},set:function(t){this.area.height=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"x",{get:function(){return this.emitX},set:function(t){this.emitX=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"y",{get:function(){return this.emitY},set:function(t){this.emitY=t}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"left",{get:function(){return Math.floor(this.x-this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"right",{get:function(){return Math.floor(this.x+this.area.width/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"top",{get:function(){return Math.floor(this.y-this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"bottom",{get:function(){return Math.floor(this.y+this.area.height/2)}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"output",{get:function(){return 1e3*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"lifespanOutput",{get:function(){return(0===this.lifespan?1/0:this.lifespan)*this._flowQuantity/this.frequency}}),Object.defineProperty(e.Particles.Arcade.Emitter.prototype,"remainder",{get:function(){return this.maxParticles-this.lifespanOutput}}),e.Weapon=function(t,i){e.Plugin.call(this,t,i),this.bullets=null,this.autoExpandBulletsGroup=!1,this.autofire=!1,this.shots=0,this.fireLimit=0,this.fireRate=100,this.fireRateVariance=0,this.fireFrom=new e.Rectangle(0,0,1,1),this.fireAngle=e.ANGLE_UP,this.bulletInheritSpriteSpeed=!1,this.bulletAnimation="",this.bulletFrameRandom=!1,this.bulletFrameCycle=!1,this.bulletWorldWrap=!1,this.bulletWorldWrapPadding=0,this.bulletAngleOffset=0,this.bulletAngleVariance=0,this.bulletSpeed=200,this.bulletSpeedVariance=0,this.bulletLifespan=0,this.bulletKillDistance=0,this.bulletGravity=new e.Point(0,0),this.bulletRotateToVelocity=!1,this.bulletKey="",this.bulletFrame="",this._bulletClass=e.Bullet,this._bulletCollideWorldBounds=!1,this._bulletKillType=e.Weapon.KILL_WORLD_BOUNDS,this._data={customBody:!1,width:0,height:0,offsetX:0,offsetY:0},this.bounds=new e.Rectangle,this.bulletBounds=t.world.bounds,this.bulletFrames=[],this.bulletFrameIndex=0,this.anims={},this.onFire=new e.Signal,this.onKill=new e.Signal,this.onFireLimit=new e.Signal,this.trackedSprite=null,this.trackedPointer=null,this.multiFire=!1,this._hasFired=!1,this.trackRotation=!1,this.trackOffset=new e.Point,this._nextFire=0,this._tempNextFire=0,this._rotatedPoint=new e.Point},e.Weapon.prototype=Object.create(e.Plugin.prototype),e.Weapon.prototype.constructor=e.Weapon,e.Weapon.KILL_NEVER=0,e.Weapon.KILL_LIFESPAN=1,e.Weapon.KILL_DISTANCE=2,e.Weapon.KILL_WEAPON_BOUNDS=3,e.Weapon.KILL_CAMERA_BOUNDS=4,e.Weapon.KILL_WORLD_BOUNDS=5,e.Weapon.KILL_STATIC_BOUNDS=6,e.Weapon.prototype.createBullets=function(t,i,s,n){return void 0===t&&(t=1),void 0===n&&(n=this.game.world),this.bullets&&!this.bullets.game&&(this.bullets=null),this.bullets||(this.bullets=this.game.add.physicsGroup(e.Physics.ARCADE,n),this.bullets.classType=this._bulletClass),0!==t&&(-1===t&&(this.autoExpandBulletsGroup=!0,t=1),this.bullets.createMultiple(t,i,s),this.bullets.setAll("data.bulletManager",this),this.bulletKey=i,this.bulletFrame=s),this},e.Weapon.prototype.forEach=function(t,e){return this.bullets.forEachExists(t,e,arguments),this},e.Weapon.prototype.pauseAll=function(){return this.bullets.setAll("body.enable",!1),this},e.Weapon.prototype.resumeAll=function(){return this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.killAll=function(){return this.bullets.callAllExists("kill",!0),this.bullets.setAll("body.enable",!0),this},e.Weapon.prototype.resetShots=function(t){return this.shots=0,void 0!==t&&(this.fireLimit=t),this},e.Weapon.prototype.destroy=function(){this.parent.remove(this,!1),this.bullets.destroy(),this.game=null,this.parent=null,this.active=!1,this.visible=!1},e.Weapon.prototype.update=function(){this._bulletKillType===e.Weapon.KILL_WEAPON_BOUNDS&&(this.trackedSprite?(this.trackedSprite.updateTransform(),this.bounds.centerOn(this.trackedSprite.worldPosition.x,this.trackedSprite.worldPosition.y)):this.trackedPointer&&this.bounds.centerOn(this.trackedPointer.worldX,this.trackedPointer.worldY)),this.autofire&&this.fire()},e.Weapon.prototype.postRender=function(){this.multiFire&&this._hasFired&&(this._hasFired=!1,this._nextFire=this._tempNextFire)},e.Weapon.prototype.trackSprite=function(t,e,i,s){return void 0===e&&(e=0),void 0===i&&(i=0),void 0===s&&(s=!1),this.trackedPointer=null,this.trackedSprite=t,this.trackRotation=s,this.trackOffset.set(e,i),this},e.Weapon.prototype.trackPointer=function(t,e,i){return void 0===t&&(t=this.game.input.activePointer),void 0===e&&(e=0),void 0===i&&(i=0),this.trackedPointer=t,this.trackedSprite=null,this.trackRotation=!1,this.trackOffset.set(e,i),this},e.Weapon.prototype.fireMany=function(t,e){this.multiFire=!0;var i=[],s=this;return e||this.trackedSprite||this.trackedPointer?t.forEach(function(t){i.push(s.fire(e,null,null,t.x,t.y))}):t.forEach(function(t){i.push(s.fire(t))}),i},e.Weapon.prototype.fireOffset=function(t,e){return void 0===t&&(t=0),void 0===e&&(e=0),this.fire(null,null,null,t,e)},e.Weapon.prototype.fire=function(t,i,s,n,r){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game.time.now0&&this.shots===this.fireLimit)return null;var o=this.bulletSpeed;0!==this.bulletSpeedVariance&&(o+=e.Math.between(-this.bulletSpeedVariance,this.bulletSpeedVariance)),t?this.fireFrom.width>1?this.fireFrom.centerOn(t.x,t.y):(this.fireFrom.x=t.x,this.fireFrom.y=t.y):this.trackedSprite?(this.trackRotation?(this._rotatedPoint.set(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y),this._rotatedPoint.rotate(this.trackedSprite.world.x,this.trackedSprite.world.y,this.trackedSprite.worldRotation),this.fireFrom.width>1?this.fireFrom.centerOn(this._rotatedPoint.x,this._rotatedPoint.y):(this.fireFrom.x=this._rotatedPoint.x,this.fireFrom.y=this._rotatedPoint.y)):this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedSprite.world.x+this.trackOffset.x,this.trackedSprite.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedSprite.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedSprite.world.y+this.trackOffset.y),this.bulletInheritSpriteSpeed&&(o+=this.trackedSprite.body.speed)):this.trackedPointer&&(this.fireFrom.width>1?this.fireFrom.centerOn(this.trackedPointer.world.x+this.trackOffset.x,this.trackedPointer.world.y+this.trackOffset.y):(this.fireFrom.x=this.trackedPointer.world.x+this.trackOffset.x,this.fireFrom.y=this.trackedPointer.world.y+this.trackOffset.y)),void 0!==n&&(this.fireFrom.x+=n),void 0!==r&&(this.fireFrom.y+=r);var a=this.fireFrom.width>1?this.fireFrom.randomX:this.fireFrom.x,h=this.fireFrom.height>1?this.fireFrom.randomY:this.fireFrom.y,l=this.trackRotation?this.trackedSprite.angle:this.fireAngle;null!==i&&null!==s&&(l=this.game.math.radToDeg(Math.atan2(s-h,i-a))),0!==this.bulletAngleVariance&&(l+=e.Math.between(-this.bulletAngleVariance,this.bulletAngleVariance));var c=0,u=0;0===l||180===l?c=Math.cos(this.game.math.degToRad(l))*o:90===l||270===l?u=Math.sin(this.game.math.degToRad(l))*o:(c=Math.cos(this.game.math.degToRad(l))*o,u=Math.sin(this.game.math.degToRad(l))*o);var d=null;if(this.autoExpandBulletsGroup?(d=this.bullets.getFirstExists(!1,!0,a,h,this.bulletKey,this.bulletFrame)).data.bulletManager=this:d=this.bullets.getFirstExists(!1),d){if(d.reset(a,h),d.data.fromX=a,d.data.fromY=h,d.data.killType=this.bulletKillType,d.data.killDistance=this.bulletKillDistance,d.data.rotateToVelocity=this.bulletRotateToVelocity,this.bulletKillType===e.Weapon.KILL_LIFESPAN&&(d.lifespan=this.bulletLifespan),d.angle=l+this.bulletAngleOffset,""!==this.bulletAnimation){if(null===d.animations.getAnimation(this.bulletAnimation)){var p=this.anims[this.bulletAnimation];d.animations.add(p.name,p.frames,p.frameRate,p.loop,p.useNumericIndex)}d.animations.play(this.bulletAnimation)}else this.bulletFrameCycle?(d.frame=this.bulletFrames[this.bulletFrameIndex],++this.bulletFrameIndex>=this.bulletFrames.length&&(this.bulletFrameIndex=0)):this.bulletFrameRandom&&(d.frame=this.bulletFrames[Math.floor(Math.random()*this.bulletFrames.length)]);d.data.bodyDirty&&(this._data.customBody&&d.body.setSize(this._data.width,this._data.height,this._data.offsetX,this._data.offsetY),d.body.collideWorldBounds=this.bulletCollideWorldBounds,d.data.bodyDirty=!1),d.body.velocity.set(c,u),d.body.gravity.set(this.bulletGravity.x,this.bulletGravity.y);var f=0;if(0!==this.bulletSpeedVariance){var g=this.fireRate;(g+=e.Math.between(-this.fireRateVariance,this.fireRateVariance))<0&&(g=0),f=this.game.time.now+g}else f=this.game.time.now+this.fireRate;this.multiFire?this._hasFired||(this._hasFired=!0,this._tempNextFire=f,this.shots++):(this._nextFire=f,this.shots++),this.onFire.dispatch(d,this,o),this.fireLimit>0&&this.shots===this.fireLimit&&this.onFireLimit.dispatch(this,this.fireLimit)}return d},e.Weapon.prototype.fireAtPointer=function(t){return void 0===t&&(t=this.game.input.activePointer),this.fire(null,t.worldX,t.worldY)},e.Weapon.prototype.fireAtSprite=function(t){return this.fire(null,t.world.x,t.world.y)},e.Weapon.prototype.fireAtXY=function(t,e){return this.fire(null,t,e)},e.Weapon.prototype.setBulletBodyOffset=function(t,e,i,s){return void 0===i&&(i=0),void 0===s&&(s=0),this._data.customBody=!0,this._data.width=t,this._data.height=e,this._data.offsetX=i,this._data.offsetY=s,this.bullets.callAll("body.setSize","body",t,e,i,s),this.bullets.setAll("data.bodyDirty",!1),this},e.Weapon.prototype.setBulletFrames=function(t,i,s,n){return void 0===s&&(s=!0),void 0===n&&(n=!1),this.bulletFrames=e.ArrayUtils.numberArray(t,i),this.bulletFrameIndex=0,this.bulletFrameCycle=s,this.bulletFrameRandom=n,this},e.Weapon.prototype.addBulletAnimation=function(t,e,i,s,n){return this.anims[t]={name:t,frames:e,frameRate:i,loop:s,useNumericIndex:n},this.bullets.callAll("animations.add","animations",t,e,i,s,n),this.bulletAnimation=t,this},e.Weapon.prototype.debug=function(t,e,i){void 0===t&&(t=16),void 0===e&&(e=32),void 0===i&&(i=!1),this.game.debug.text("Weapon Plugin",t,e),this.game.debug.text("Bullets Alive: "+this.bullets.total+" - Total: "+this.bullets.length,t,e+24),i&&this.bullets.forEachExists(this.game.debug.body,this.game.debug,"rgba(255, 0, 255, 0.8)")},Object.defineProperty(e.Weapon.prototype,"bulletClass",{get:function(){return this._bulletClass},set:function(t){this._bulletClass=t,this.bullets&&(this.bullets.classType=this._bulletClass)}}),Object.defineProperty(e.Weapon.prototype,"bulletKillType",{get:function(){return this._bulletKillType},set:function(t){switch(t){case e.Weapon.KILL_STATIC_BOUNDS:case e.Weapon.KILL_WEAPON_BOUNDS:this.bulletBounds=this.bounds;break;case e.Weapon.KILL_CAMERA_BOUNDS:this.bulletBounds=this.game.camera.view;break;case e.Weapon.KILL_WORLD_BOUNDS:this.bulletBounds=this.game.world.bounds}this._bulletKillType=t}}),Object.defineProperty(e.Weapon.prototype,"bulletCollideWorldBounds",{get:function(){return this._bulletCollideWorldBounds},set:function(t){this._bulletCollideWorldBounds=t,this.bullets.setAll("body.collideWorldBounds",t),this.bullets.setAll("data.bodyDirty",!1)}}),Object.defineProperty(e.Weapon.prototype,"x",{get:function(){return this.fireFrom.x},set:function(t){this.fireFrom.x=t}}),Object.defineProperty(e.Weapon.prototype,"y",{get:function(){return this.fireFrom.y},set:function(t){this.fireFrom.y=t}}),e.Bullet=function(t,i,s,n,r){e.Sprite.call(this,t,i,s,n,r),this.anchor.set(.5),this.data={bulletManager:null,fromX:0,fromY:0,bodyDirty:!0,rotateToVelocity:!1,killType:0,killDistance:0}},e.Bullet.prototype=Object.create(e.Sprite.prototype),e.Bullet.prototype.constructor=e.Bullet,e.Bullet.prototype.kill=function(){return this.alive=!1,this.exists=!1,this.visible=!1,this.data.bulletManager.onKill.dispatch(this),this},e.Bullet.prototype.update=function(){this.exists&&(this.data.killType>e.Weapon.KILL_LIFESPAN&&(this.data.killType===e.Weapon.KILL_DISTANCE?this.game.physics.arcade.distanceToXY(this,this.data.fromX,this.data.fromY,!0)>this.data.killDistance&&this.kill():this.data.bulletManager.bulletBounds.intersects(this)||this.kill()),this.data.rotateToVelocity&&(this.rotation=this.body.velocity.atan()),this.data.bulletManager.bulletWorldWrap&&this.game.world.wrap(this,this.data.bulletManager.bulletWorldWrapPadding))},e.Video=function(t,i,s){if(void 0===i&&(i=null),void 0===s&&(s=null),this.game=t,this.key=i,this.width=0,this.height=0,this.type=e.VIDEO,this.disableTextureUpload=!1,this.touchLocked=!1,this.onPlay=new e.Signal,this.onChangeSource=new e.Signal,this.onComplete=new e.Signal,this.onAccess=new e.Signal,this.onError=new e.Signal,this.onTimeout=new e.Signal,this.onTouchUnlock=new e.Signal,this.playWhenUnlocked=!0,this.timeout=15e3,this._timeOutID=null,this.video=null,this.videoStream=null,this.isStreaming=!1,this.retryLimit=20,this.retry=0,this.retryInterval=500,this._retryID=null,this._codeMuted=!1,this._muted=!1,this._codePaused=!1,this._paused=!1,this._pending=!1,this._pendingChangeSource=!1,this._autoplay=!1,this._endCallback=null,this._playCallback=null,i&&this.game.cache.checkVideoKey(i)){var n=this.game.cache.getVideo(i);n.isBlob?this.createVideoFromBlob(n.data):this.video=n.data,this.width=this.video.videoWidth,this.height=this.video.videoHeight}else s&&this.createVideoFromURL(s,!1);this.video&&!s?(this.baseTexture=new PIXI.BaseTexture(this.video,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)):(this.baseTexture=new PIXI.BaseTexture(e.Cache.DEFAULT.baseTexture.source,null,this.game.resolution),this.baseTexture.forceLoaded(this.width,this.height)),this.texture=new PIXI.Texture(this.baseTexture),this.textureFrame=new e.Frame(0,0,0,this.width,this.height,"video"),this.texture.setFrame(this.textureFrame),this.texture.valid=!1,null!==i&&this.video&&(this.texture.valid=this.video.canplay),this.snapshot=null,e.BitmapData&&(this.snapshot=new e.BitmapData(this.game,"",this.width,this.height)),this.game.device.needsTouchUnlock()?this.setTouchLock():n&&(n.locked=!1)},e.Video.prototype={connectToMediaStream:function(t,e){return t&&e&&(this.video=t,this.videoStream=e,this.isStreaming=!0,this.baseTexture.source=this.video,this.updateTexture(null,this.video.videoWidth,this.video.videoHeight),this.onAccess.dispatch(this)),this},startMediaStream:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=null),void 0===i&&(i=null),!this.game.device.getUserMedia)return this.onError.dispatch(this,"No getUserMedia"),!1;null!==this.videoStream&&(this.videoStream.active?this.videoStream.active=!1:this.videoStream.stop()),this.removeVideoElement(),this.video=document.createElement("video"),this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),null!==e&&(this.video.width=e),null!==i&&(this.video.height=i),this._timeOutID=window.setTimeout(this.getUserMediaTimeout.bind(this),this.timeout);try{navigator.getUserMedia({audio:t,video:!0},this.getUserMediaSuccess.bind(this),this.getUserMediaError.bind(this))}catch(t){this.getUserMediaError(t)}return this},getUserMediaTimeout:function(){clearTimeout(this._timeOutID),this.onTimeout.dispatch(this)},getUserMediaError:function(t){clearTimeout(this._timeOutID),this.onError.dispatch(this,t)},getUserMediaSuccess:function(t){clearTimeout(this._timeOutID),this.videoStream=t,void 0!==this.video.mozSrcObject?this.video.mozSrcObject=t:void 0!==this.video.srcObject?this.video.srcObject=t:this.video.src=window.URL&&window.URL.createObjectURL(t)||t;var e=this;this.video.onloadeddata=function(){function t(){if(i>0)if(e.video.videoWidth>0){var s=e.video.videoWidth,n=e.video.videoHeight;isNaN(e.video.videoHeight)&&(n=s/(4/3)),e.video.play(),e.isStreaming=!0,e.baseTexture.source=e.video,e.updateTexture(null,s,n),e.onAccess.dispatch(e)}else window.setTimeout(t,500);else console.warn("Unable to connect to video stream. Webcam error?");i--}var i=10;t()}},createVideoFromBlob:function(t){var e=this;return this.video=document.createElement("video"),this.video.controls=!1,this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.addEventListener("loadeddata",function(t){e.updateTexture(t)},!0),this.video.src=window.URL.createObjectURL(t),this.video.canplay=!0,this},createVideoFromURL:function(t,e){return void 0===e&&(e=!1),this.texture&&(this.texture.valid=!1),this.video=document.createElement("video"),this.video.controls=!1,e&&this.video.setAttribute("autoplay","autoplay"),this.video.setAttribute("playsinline","playsinline"),this.video.src=t,this.video.canplay=!0,this.video.load(),this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval),this.key=t,this},updateTexture:function(t,e,i){var s=!1;void 0!==e&&null!==e||(e=this.video.videoWidth,s=!0),void 0!==i&&null!==i||(i=this.video.videoHeight),this.width=e,this.height=i,this.baseTexture.source!==this.video&&(this.baseTexture.source=this.video),this.baseTexture.forceLoaded(e,i),this.texture.frame.resize(e,i),this.texture.width=e,this.texture.height=i,this.texture.valid=!0,this.snapshot&&this.snapshot.resize(e,i),s&&null!==this.key&&(this.onChangeSource.dispatch(this,e,i),this._autoplay&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)))},complete:function(){this.onComplete.dispatch(this)},play:function(t,e){return this._pendingChangeSource?this:(void 0===t&&(t=!1),void 0===e&&(e=1),this.game.sound.onMute&&(this.game.sound.onMute.add(this.setMute,this),this.game.sound.onUnMute.add(this.unsetMute,this),this.game.sound.mute&&this.setMute()),this.game.onPause.add(this.setPause,this),this.game.onResume.add(this.setResume,this),this._endCallback=this.complete.bind(this),this.video.addEventListener("ended",this._endCallback,!0),this.video.addEventListener("webkitendfullscreen",this._endCallback,!0),this.video.loop=t?"loop":"",this.video.playbackRate=e,this.touchLocked?this._pending=!0:(this._pending=!1,null!==this.key&&(4!==this.video.readyState?(this.retry=this.retryLimit,this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval)):(this._playCallback=this.playHandler.bind(this),this.video.addEventListener("playing",this._playCallback,!0))),this.video.play(),this.onPlay.dispatch(this,t,e)),this)},playHandler:function(){this.video.removeEventListener("playing",this._playCallback,!0),this.updateTexture()},stop:function(){return this.game.sound.onMute&&(this.game.sound.onMute.remove(this.setMute,this),this.game.sound.onUnMute.remove(this.unsetMute,this)),this.game.onPause.remove(this.setPause,this),this.game.onResume.remove(this.setResume,this),this.isStreaming?(this.video.mozSrcObject?(this.video.mozSrcObject.stop(),this.video.src=null):this.video.srcObject?(this.video.srcObject.stop(),this.video.src=null):(this.video.src="",this.videoStream.active?this.videoStream.active=!1:this.videoStream.getTracks?this.videoStream.getTracks().forEach(function(t){t.stop()}):this.videoStream.stop()),this.videoStream=null,this.isStreaming=!1):(this.video.removeEventListener("ended",this._endCallback,!0),this.video.removeEventListener("webkitendfullscreen",this._endCallback,!0),this.video.removeEventListener("playing",this._playCallback,!0),this.touchLocked?this._pending=!1:this.video.pause()),this},add:function(t){if(Array.isArray(t))for(var e=0;e0?this._retryID=window.setTimeout(this.checkVideoProgress.bind(this),this.retryInterval):console.warn("Phaser.Video: Unable to start downloading video in time",this.isStreaming)},setTouchLock:function(){this.game.input.addTouchLockCallback(this.unlock,this,!0),this.touchLocked=!0},unlock:function(){if(this.touchLocked=!1,this.playWhenUnlocked&&(this.video.play(),this.onPlay.dispatch(this,this.loop,this.playbackRate)),this.key){var t=this.game.cache.getVideo(this.key);t&&!t.isBlob&&(t.locked=!1)}return this.onTouchUnlock.dispatch(this),!0},grab:function(t,e,i){if(void 0===t&&(t=!1),void 0===e&&(e=1),void 0===i&&(i=null),null!==this.snapshot)return t&&this.snapshot.cls(),this.snapshot.copy(this.video,0,0,this.width,this.height,0,0,this.width,this.height,0,0,0,1,1,e,i),this.snapshot;console.warn("Video.grab cannot run because Phaser.BitmapData is unavailable")},removeVideoElement:function(){if(this.video){for(this.video.parentNode&&this.video.parentNode.removeChild(this.video);this.video.hasChildNodes();)this.video.removeChild(this.video.firstChild);this.video.removeAttribute("autoplay"),this.video.removeAttribute("src"),this.video=null}},destroy:function(){this.stop(),this.removeVideoElement(),this.touchLocked&&this.game.input.removeTouchLockCallback(this.unlock,this),this._retryID&&window.clearTimeout(this._retryID)}},Object.defineProperty(e.Video.prototype,"currentTime",{get:function(){return this.video?this.video.currentTime:0},set:function(t){this.video.currentTime=t}}),Object.defineProperty(e.Video.prototype,"duration",{get:function(){return this.video?this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"progress",{get:function(){return this.video?this.video.currentTime/this.video.duration:0}}),Object.defineProperty(e.Video.prototype,"mute",{get:function(){return this._muted},set:function(t){if(t=t||null){if(this._muted)return;this._codeMuted=!0,this.setMute()}else{if(!this._muted)return;this._codeMuted=!1,this.unsetMute()}}}),Object.defineProperty(e.Video.prototype,"paused",{get:function(){return this._paused},set:function(t){if(t=t||null,!this.touchLocked)if(t){if(this._paused)return;this._codePaused=!0,this.setPause()}else{if(!this._paused)return;this._codePaused=!1,this.setResume()}}}),Object.defineProperty(e.Video.prototype,"volume",{get:function(){return this.video?this.video.volume:1},set:function(t){t<0?t=0:t>1&&(t=1),this.video&&(this.video.volume=t)}}),Object.defineProperty(e.Video.prototype,"playbackRate",{get:function(){return this.video?this.video.playbackRate:1},set:function(t){this.video&&(this.video.playbackRate=t)}}),Object.defineProperty(e.Video.prototype,"loop",{get:function(){return!!this.video&&this.video.loop},set:function(t){t&&this.video?this.video.loop="loop":this.video&&(this.video.loop="")}}),Object.defineProperty(e.Video.prototype,"playing",{get:function(){return!!this.video&&!(this.video.paused&&this.video.ended)}}),e.Video.prototype.constructor=e.Video,void 0===PIXI.blendModes&&(PIXI.blendModes=e.blendModes),void 0===PIXI.scaleModes&&(PIXI.scaleModes=e.scaleModes),void 0===PIXI.Texture.emptyTexture&&(PIXI.Texture.emptyTexture=new PIXI.Texture(new PIXI.BaseTexture)),void 0===PIXI.DisplayObject._tempMatrix&&(PIXI.DisplayObject._tempMatrix=new e.Matrix),PIXI.TextureSilentFail=!0,PIXI.canUseNewCanvasBlendModes=function(){return e.Device.canUseMultiply},"undefined"!=typeof exports?("undefined"!=typeof module&&module.exports&&(exports=module.exports=e),exports.Phaser=e):"undefined"!=typeof define&&define.amd?define("Phaser",t.Phaser=e):t.Phaser=e,e}.call(this); //# sourceMappingURL=phaser.map \ No newline at end of file diff --git a/docs/CreatureShader.html b/docs/CreatureShader.html index c79cc0db9..6612473d1 100644 --- a/docs/CreatureShader.html +++ b/docs/CreatureShader.html @@ -6,7 +6,7 @@ Phaser CE Class: CreatureShader - + @@ -224,7 +224,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 16 + src/gameobjects/Creature.js line 16 @@ -329,7 +329,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 43 + src/gameobjects/Creature.js line 43 @@ -402,7 +402,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 29 + src/gameobjects/Creature.js line 29 @@ -479,7 +479,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 36 + src/gameobjects/Creature.js line 36 @@ -556,7 +556,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 63 + src/gameobjects/Creature.js line 63 @@ -589,9 +589,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -606,9 +606,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -637,7 +637,7 @@
Type:
- + diff --git a/docs/EarCut.html b/docs/EarCut.html index 60375aa6c..81ff87ec7 100644 --- a/docs/EarCut.html +++ b/docs/EarCut.html @@ -6,7 +6,7 @@ Phaser CE Class: EarCut - + @@ -174,7 +174,7 @@

Source:
- src/utils/EarCut.js line 22 + src/utils/EarCut.js line 22 @@ -231,9 +231,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -248,9 +248,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -279,7 +279,7 @@

- + diff --git a/docs/Event.html b/docs/Event.html index ea12578b0..42fa13458 100644 --- a/docs/Event.html +++ b/docs/Event.html @@ -6,7 +6,7 @@ Phaser CE Class: Event - + @@ -276,7 +276,7 @@

Parameters:
Source:
- src/plugins/path/EventTarget.js line 222 + src/plugins/path/EventTarget.js line 222 @@ -392,7 +392,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 274 + src/plugins/path/EventTarget.js line 274 @@ -469,7 +469,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 256 + src/plugins/path/EventTarget.js line 256 @@ -546,7 +546,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 286 + src/plugins/path/EventTarget.js line 286 @@ -623,7 +623,7 @@
Type:
Source:
- src/plugins/path/EventTarget.js line 265 + src/plugins/path/EventTarget.js line 265 @@ -656,9 +656,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -673,9 +673,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -704,7 +704,7 @@
Type:
- + diff --git a/docs/EventTarget.html b/docs/EventTarget.html index bf9fac0b7..117da9805 100644 --- a/docs/EventTarget.html +++ b/docs/EventTarget.html @@ -6,7 +6,7 @@ Phaser CE Class: EventTarget - + @@ -178,7 +178,7 @@

Source:
- src/plugins/path/EventTarget.js line 23 + src/plugins/path/EventTarget.js line 23 @@ -291,7 +291,7 @@

Source:
- src/plugins/path/EventTarget.js line 27 + src/plugins/path/EventTarget.js line 27 @@ -334,9 +334,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -351,9 +351,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -382,7 +382,7 @@

- + diff --git a/docs/PIXI.BaseTexture.html b/docs/PIXI.BaseTexture.html index 46197d8d3..2b6a6bf36 100644 --- a/docs/PIXI.BaseTexture.html +++ b/docs/PIXI.BaseTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: BaseTexture - + @@ -312,7 +312,7 @@

Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 14 + src/pixi/textures/BaseTexture.js line 14 @@ -417,7 +417,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 58 + src/pixi/textures/BaseTexture.js line 58 @@ -494,7 +494,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 40 + src/pixi/textures/BaseTexture.js line 40 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 93 + src/pixi/textures/BaseTexture.js line 93 @@ -656,7 +656,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 75 + src/pixi/textures/BaseTexture.js line 75 @@ -733,7 +733,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 22 + src/pixi/textures/BaseTexture.js line 22 @@ -817,7 +817,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 49 + src/pixi/textures/BaseTexture.js line 49 @@ -896,7 +896,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 131 + src/pixi/textures/BaseTexture.js line 131 @@ -979,7 +979,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 66 + src/pixi/textures/BaseTexture.js line 66 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 100 + src/pixi/textures/BaseTexture.js line 100 @@ -1133,7 +1133,7 @@
Type:
Source:
- src/pixi/textures/BaseTexture.js line 31 + src/pixi/textures/BaseTexture.js line 31 @@ -1211,7 +1211,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 161 + src/pixi/textures/BaseTexture.js line 161 @@ -1295,7 +1295,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 178 + src/pixi/textures/BaseTexture.js line 178 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 144 + src/pixi/textures/BaseTexture.js line 144 @@ -1665,7 +1665,7 @@
Parameters:
Source:
- src/pixi/textures/BaseTexture.js line 219 + src/pixi/textures/BaseTexture.js line 219 @@ -1770,7 +1770,7 @@

Source:
- src/pixi/textures/BaseTexture.js line 191 + src/pixi/textures/BaseTexture.js line 191 @@ -1813,9 +1813,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1830,9 +1830,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1861,7 +1861,7 @@

- + diff --git a/docs/PIXI.CanvasBuffer.html b/docs/PIXI.CanvasBuffer.html index 95a2ea2d7..71d818467 100644 --- a/docs/PIXI.CanvasBuffer.html +++ b/docs/PIXI.CanvasBuffer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasBuffer - + @@ -254,7 +254,7 @@

Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 13 @@ -359,7 +359,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 37 @@ -436,7 +436,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 45 @@ -513,7 +513,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 29 @@ -590,7 +590,7 @@
Type:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 21 @@ -668,7 +668,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 78 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 + src/pixi/renderers/canvas/utils/CanvasBuffer.js line 65 @@ -869,9 +869,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -886,9 +886,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -917,7 +917,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasGraphics.html b/docs/PIXI.CanvasGraphics.html index 4ec9d25e3..c5effe942 100644 --- a/docs/PIXI.CanvasGraphics.html +++ b/docs/PIXI.CanvasGraphics.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasGraphics - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 12 + src/pixi/renderers/canvas/CanvasGraphics.js line 12 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasGraphics.js line 16 + src/pixi/renderers/canvas/CanvasGraphics.js line 16 @@ -399,9 +399,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -416,9 +416,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -447,7 +447,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasMaskManager.html b/docs/PIXI.CanvasMaskManager.html index 2bb4983f7..eab53f2fc 100644 --- a/docs/PIXI.CanvasMaskManager.html +++ b/docs/PIXI.CanvasMaskManager.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasMaskManager - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 11 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 50 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 50 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 + src/pixi/renderers/canvas/utils/CanvasMaskManager.js line 17 @@ -533,9 +533,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -550,9 +550,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -581,7 +581,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasRenderer.html b/docs/PIXI.CanvasRenderer.html index ca81d02c5..f56ce4ea3 100644 --- a/docs/PIXI.CanvasRenderer.html +++ b/docs/PIXI.CanvasRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasRenderer - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 13 + src/pixi/renderers/canvas/CanvasRenderer.js line 13 @@ -336,7 +336,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 68 + src/pixi/renderers/canvas/CanvasRenderer.js line 68 @@ -416,7 +416,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 52 + src/pixi/renderers/canvas/CanvasRenderer.js line 52 @@ -493,7 +493,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 101 + src/pixi/renderers/canvas/CanvasRenderer.js line 101 @@ -570,7 +570,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 122 + src/pixi/renderers/canvas/CanvasRenderer.js line 122 @@ -647,7 +647,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 19 + src/pixi/renderers/canvas/CanvasRenderer.js line 19 @@ -731,7 +731,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 86 + src/pixi/renderers/canvas/CanvasRenderer.js line 86 @@ -855,7 +855,7 @@
Properties:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 129 + src/pixi/renderers/canvas/CanvasRenderer.js line 129 @@ -932,7 +932,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 114 + src/pixi/renderers/canvas/CanvasRenderer.js line 114 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 136 + src/pixi/renderers/canvas/CanvasRenderer.js line 136 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 40 + src/pixi/renderers/canvas/CanvasRenderer.js line 40 @@ -1163,7 +1163,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 60 + src/pixi/renderers/canvas/CanvasRenderer.js line 60 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 32 + src/pixi/renderers/canvas/CanvasRenderer.js line 32 @@ -1317,7 +1317,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 94 + src/pixi/renderers/canvas/CanvasRenderer.js line 94 @@ -1401,7 +1401,7 @@
Type:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 77 + src/pixi/renderers/canvas/CanvasRenderer.js line 77 @@ -1549,7 +1549,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 209 + src/pixi/renderers/canvas/CanvasRenderer.js line 209 @@ -1686,7 +1686,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 158 + src/pixi/renderers/canvas/CanvasRenderer.js line 158 @@ -1844,7 +1844,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/CanvasRenderer.js line 232 + src/pixi/renderers/canvas/CanvasRenderer.js line 232 @@ -1887,9 +1887,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1904,9 +1904,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1935,7 +1935,7 @@
Parameters:
- + diff --git a/docs/PIXI.CanvasTinter.html b/docs/PIXI.CanvasTinter.html index 2ae27f25c..2c3dca6ba 100644 --- a/docs/PIXI.CanvasTinter.html +++ b/docs/PIXI.CanvasTinter.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasTinter - + @@ -180,7 +180,7 @@

Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 11 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 13 @@ -562,7 +562,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 73 @@ -744,7 +744,7 @@
Parameters:
Source:
- src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 + src/pixi/renderers/canvas/utils/CanvasTinter.js line 31 @@ -787,9 +787,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -804,9 +804,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -835,7 +835,7 @@
Parameters:
- + diff --git a/docs/PIXI.ComplexPrimitiveShader.html b/docs/PIXI.ComplexPrimitiveShader.html index 6c3d0dc5f..0b016802e 100644 --- a/docs/PIXI.ComplexPrimitiveShader.html +++ b/docs/PIXI.ComplexPrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: ComplexPrimitiveShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 53 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 112 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 112 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 80 + src/pixi/renderers/webgl/shaders/ComplexPrimitiveShader.js line 80 @@ -763,9 +763,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -780,9 +780,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.DisplayObject.html b/docs/PIXI.DisplayObject.html index 964d519da..5b5e94c28 100644 --- a/docs/PIXI.DisplayObject.html +++ b/docs/PIXI.DisplayObject.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObject - + @@ -183,7 +183,7 @@

Source:
- src/pixi/display/DisplayObject.js line 18 + src/pixi/display/DisplayObject.js line 18 @@ -298,7 +298,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -382,7 +382,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -459,7 +459,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -541,7 +541,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -628,7 +628,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -708,7 +708,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -788,7 +788,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -866,7 +866,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -945,7 +945,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -1183,7 +1183,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -1356,7 +1356,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -1438,7 +1438,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -1602,7 +1602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -1684,7 +1684,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -1761,7 +1761,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -1839,7 +1839,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -1997,7 +1997,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -2233,7 +2233,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -2343,7 +2343,7 @@

Source:
- src/pixi/display/DisplayObject.js line 439 + src/pixi/display/DisplayObject.js line 439 @@ -2477,7 +2477,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -2681,7 +2681,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -2791,7 +2791,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -3040,9 +3040,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3057,9 +3057,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3088,7 +3088,7 @@
Returns:
- + diff --git a/docs/PIXI.DisplayObjectContainer.html b/docs/PIXI.DisplayObjectContainer.html index b523bf504..aeb845e36 100644 --- a/docs/PIXI.DisplayObjectContainer.html +++ b/docs/PIXI.DisplayObjectContainer.html @@ -6,7 +6,7 @@ Phaser CE Class: DisplayObjectContainer - + @@ -181,7 +181,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 13 + src/pixi/display/DisplayObjectContainer.js line 13 @@ -316,7 +316,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -409,7 +409,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -486,7 +486,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -572,7 +572,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -663,7 +663,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -740,7 +740,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -836,7 +836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -915,7 +915,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -1093,7 +1093,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -1180,7 +1180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -1268,7 +1268,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -1355,7 +1355,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -1632,7 +1632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -1709,7 +1709,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -1801,7 +1801,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -1892,7 +1892,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -1983,7 +1983,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -2165,7 +2165,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -2251,7 +2251,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -2553,7 +2553,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -2735,7 +2735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -2893,7 +2893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -3008,7 +3008,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -3253,7 +3253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -3428,7 +3428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -3586,7 +3586,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -3744,7 +3744,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -3852,7 +3852,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -3969,7 +3969,7 @@

Source:
- src/pixi/display/DisplayObject.js line 439 + src/pixi/display/DisplayObject.js line 439 @@ -4103,7 +4103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -4261,7 +4261,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -4443,7 +4443,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -4601,7 +4601,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -4759,7 +4759,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -4902,7 +4902,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -5115,7 +5115,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -5234,7 +5234,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -5428,7 +5428,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -5497,9 +5497,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -5514,9 +5514,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -5545,7 +5545,7 @@
Returns:
- + diff --git a/docs/PIXI.FilterTexture.html b/docs/PIXI.FilterTexture.html index c2e8fc2f3..57a3f84e3 100644 --- a/docs/PIXI.FilterTexture.html +++ b/docs/PIXI.FilterTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: FilterTexture - + @@ -298,7 +298,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 66 + src/pixi/renderers/webgl/utils/FilterTexture.js line 66 @@ -399,7 +399,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 82 + src/pixi/renderers/webgl/utils/FilterTexture.js line 82 @@ -472,7 +472,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 74 + src/pixi/renderers/webgl/utils/FilterTexture.js line 74 @@ -545,7 +545,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 88 + src/pixi/renderers/webgl/utils/FilterTexture.js line 88 @@ -623,7 +623,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 96 + src/pixi/renderers/webgl/utils/FilterTexture.js line 96 @@ -707,7 +707,7 @@

Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 132 + src/pixi/renderers/webgl/utils/FilterTexture.js line 132 @@ -865,7 +865,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/FilterTexture.js line 109 + src/pixi/renderers/webgl/utils/FilterTexture.js line 109 @@ -908,9 +908,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -925,9 +925,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -956,7 +956,7 @@
Parameters:
- + diff --git a/docs/PIXI.Phaser.GraphicsData.html b/docs/PIXI.Phaser.GraphicsData.html index 140e15dd0..e4f42b02c 100644 --- a/docs/PIXI.Phaser.GraphicsData.html +++ b/docs/PIXI.Phaser.GraphicsData.html @@ -6,7 +6,7 @@ Phaser CE Class: Phaser.GraphicsData - + @@ -386,7 +386,7 @@
Parameters:
Source:
- src/gameobjects/GraphicsData.js line 15 + src/gameobjects/GraphicsData.js line 15 @@ -443,9 +443,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -460,9 +460,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -491,7 +491,7 @@
Parameters:
- + diff --git a/docs/PIXI.PixiFastShader.html b/docs/PIXI.PixiFastShader.html index a96e16213..84bec4330 100644 --- a/docs/PIXI.PixiFastShader.html +++ b/docs/PIXI.PixiFastShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiFastShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 49 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 49 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 132 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 92 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 92 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 219 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 219 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiFastShader.js line 139 + src/pixi/renderers/webgl/shaders/PixiFastShader.js line 139 @@ -840,9 +840,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -857,9 +857,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.PixiShader.html b/docs/PIXI.PixiShader.html index 94a0b03ee..d61cef485 100644 --- a/docs/PIXI.PixiShader.html +++ b/docs/PIXI.PixiShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PixiShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 11 + src/pixi/renderers/webgl/shaders/PixiShader.js line 11 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 486 + src/pixi/renderers/webgl/shaders/PixiShader.js line 486 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 60 + src/pixi/renderers/webgl/shaders/PixiShader.js line 60 @@ -485,7 +485,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 38 + src/pixi/renderers/webgl/shaders/PixiShader.js line 38 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 24 + src/pixi/renderers/webgl/shaders/PixiShader.js line 24 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 31 + src/pixi/renderers/webgl/shaders/PixiShader.js line 31 @@ -712,7 +712,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 45 + src/pixi/renderers/webgl/shaders/PixiShader.js line 45 @@ -790,7 +790,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 466 + src/pixi/renderers/webgl/shaders/PixiShader.js line 466 @@ -874,7 +874,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 232 + src/pixi/renderers/webgl/shaders/PixiShader.js line 232 @@ -958,7 +958,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 323 + src/pixi/renderers/webgl/shaders/PixiShader.js line 323 @@ -1044,7 +1044,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 249 + src/pixi/renderers/webgl/shaders/PixiShader.js line 249 @@ -1128,7 +1128,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PixiShader.js line 399 + src/pixi/renderers/webgl/shaders/PixiShader.js line 399 @@ -1171,9 +1171,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1188,9 +1188,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1219,7 +1219,7 @@

- + diff --git a/docs/PIXI.PrimitiveShader.html b/docs/PIXI.PrimitiveShader.html index 3d8ea5ec5..b3c5b6d4f 100644 --- a/docs/PIXI.PrimitiveShader.html +++ b/docs/PIXI.PrimitiveShader.html @@ -6,7 +6,7 @@ Phaser CE Class: PrimitiveShader - + @@ -226,7 +226,7 @@

Parameters:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 37 @@ -404,7 +404,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 23 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 30 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 51 @@ -636,7 +636,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 105 @@ -720,7 +720,7 @@

Source:
- src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 + src/pixi/renderers/webgl/shaders/PrimitiveShader.js line 75 @@ -763,9 +763,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -780,9 +780,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -811,7 +811,7 @@

- + diff --git a/docs/PIXI.Sprite.html b/docs/PIXI.Sprite.html index a5c48fa77..5dc8dfabe 100644 --- a/docs/PIXI.Sprite.html +++ b/docs/PIXI.Sprite.html @@ -6,7 +6,7 @@ Phaser CE Class: Sprite - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/pixi/display/Sprite.js line 13 + src/pixi/display/Sprite.js line 13 @@ -396,7 +396,7 @@
Properties:
Source:
- src/pixi/display/Sprite.js line 129 + src/pixi/display/Sprite.js line 129 @@ -492,7 +492,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -573,7 +573,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 29 + src/pixi/display/Sprite.js line 29 @@ -658,7 +658,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 94 + src/pixi/display/Sprite.js line 94 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -837,7 +837,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -921,7 +921,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 113 + src/pixi/display/Sprite.js line 113 @@ -1007,7 +1007,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -1098,7 +1098,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -1184,7 +1184,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -1457,7 +1457,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -1546,7 +1546,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -1633,7 +1633,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -1721,7 +1721,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -1813,7 +1813,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -1902,7 +1902,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 104 + src/pixi/display/Sprite.js line 104 @@ -2153,7 +2153,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 37 + src/pixi/display/Sprite.js line 37 @@ -2237,7 +2237,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 64 + src/pixi/display/Sprite.js line 64 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 83 + src/pixi/display/Sprite.js line 83 @@ -2420,7 +2420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -2506,7 +2506,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -2598,7 +2598,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -2689,7 +2689,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -2871,7 +2871,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -2967,7 +2967,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -3053,7 +3053,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -3140,7 +3140,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -3227,7 +3227,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -3555,7 +3555,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -3722,7 +3722,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -3837,7 +3837,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -4082,7 +4082,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -4253,7 +4253,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 213 + src/pixi/display/Sprite.js line 213 @@ -4420,7 +4420,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -4587,7 +4587,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -4700,7 +4700,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -4817,7 +4817,7 @@

Source:
- src/pixi/display/DisplayObject.js line 439 + src/pixi/display/DisplayObject.js line 439 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -5127,7 +5127,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -5318,7 +5318,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -5676,7 +5676,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 177 + src/pixi/display/Sprite.js line 177 @@ -5843,7 +5843,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -5986,7 +5986,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -6199,7 +6199,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -6318,7 +6318,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -6507,7 +6507,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -6576,9 +6576,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6593,9 +6593,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6624,7 +6624,7 @@
Returns:
- + diff --git a/docs/PIXI.StripShader.html b/docs/PIXI.StripShader.html index 6a0f3f4ef..dcaaeee77 100644 --- a/docs/PIXI.StripShader.html +++ b/docs/PIXI.StripShader.html @@ -6,7 +6,7 @@ Phaser CE Class: StripShader - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 10 + src/pixi/renderers/webgl/shaders/StripShader.js line 10 @@ -331,7 +331,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 82 + src/pixi/renderers/webgl/shaders/StripShader.js line 82 @@ -408,7 +408,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 50 + src/pixi/renderers/webgl/shaders/StripShader.js line 50 @@ -481,7 +481,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 23 + src/pixi/renderers/webgl/shaders/StripShader.js line 23 @@ -558,7 +558,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 30 + src/pixi/renderers/webgl/shaders/StripShader.js line 30 @@ -635,7 +635,7 @@
Type:
Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 102 + src/pixi/renderers/webgl/shaders/StripShader.js line 102 @@ -713,7 +713,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 189 + src/pixi/renderers/webgl/shaders/StripShader.js line 189 @@ -797,7 +797,7 @@

Source:
- src/pixi/renderers/webgl/shaders/StripShader.js line 134 + src/pixi/renderers/webgl/shaders/StripShader.js line 134 @@ -840,9 +840,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -857,9 +857,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -888,7 +888,7 @@

- + diff --git a/docs/PIXI.Texture.html b/docs/PIXI.Texture.html index b30d56720..cba434491 100644 --- a/docs/PIXI.Texture.html +++ b/docs/PIXI.Texture.html @@ -6,7 +6,7 @@ Phaser CE Class: Texture - + @@ -341,7 +341,7 @@

Parameters:
Source:
- src/pixi/textures/Texture.js line 25 + src/pixi/textures/Texture.js line 25 @@ -446,7 +446,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 52 + src/pixi/textures/Texture.js line 52 @@ -524,7 +524,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -601,7 +601,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -678,7 +678,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -755,7 +755,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -832,7 +832,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -909,7 +909,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -986,7 +986,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 76 + src/pixi/textures/Texture.js line 76 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1424,7 +1424,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -1582,7 +1582,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 287 + src/pixi/textures/Texture.js line 287 @@ -1736,7 +1736,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -1779,9 +1779,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1796,9 +1796,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1827,7 +1827,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLBlendModeManager.html b/docs/PIXI.WebGLBlendModeManager.html index 33d9966ac..e6f600f2d 100644 --- a/docs/PIXI.WebGLBlendModeManager.html +++ b/docs/PIXI.WebGLBlendModeManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLBlendModeManager - + @@ -226,7 +226,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 10 @@ -327,7 +327,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 16 @@ -405,7 +405,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 54 @@ -539,7 +539,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 32 @@ -673,7 +673,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLBlendModeManager.js line 21 @@ -716,9 +716,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -733,9 +733,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -764,7 +764,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLFastSpriteBatch.html b/docs/PIXI.WebGLFastSpriteBatch.html index 817991837..6936d9471 100644 --- a/docs/PIXI.WebGLFastSpriteBatch.html +++ b/docs/PIXI.WebGLFastSpriteBatch.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFastSpriteBatch - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 15 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 100 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 94 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 106 @@ -496,7 +496,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 88 @@ -569,7 +569,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 66 @@ -646,7 +646,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 54 @@ -719,7 +719,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 72 @@ -792,7 +792,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 124 @@ -865,7 +865,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 28 @@ -938,7 +938,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 112 @@ -1011,7 +1011,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 118 @@ -1084,7 +1084,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 34 @@ -1157,7 +1157,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 60 @@ -1234,7 +1234,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 47 @@ -1307,7 +1307,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 22 @@ -1455,7 +1455,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 155 @@ -1535,7 +1535,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 170 @@ -1615,7 +1615,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 380 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 380 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 178 @@ -1875,7 +1875,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 216 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 216 @@ -2009,7 +2009,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 131 @@ -2089,7 +2089,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 433 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 433 @@ -2169,7 +2169,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 425 + src/pixi/renderers/webgl/utils/WebGLFastSpriteBatch.js line 425 @@ -2212,9 +2212,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2229,9 +2229,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2260,7 +2260,7 @@

- + diff --git a/docs/PIXI.WebGLFilterManager.html b/docs/PIXI.WebGLFilterManager.html index 3ff65145c..7784d6bdb 100644 --- a/docs/PIXI.WebGLFilterManager.html +++ b/docs/PIXI.WebGLFilterManager.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLFilterManager - + @@ -176,7 +176,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 9 @@ -277,7 +277,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 15 @@ -350,7 +350,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 21 @@ -423,7 +423,7 @@
Type:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 27 @@ -623,7 +623,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 342 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 342 @@ -777,7 +777,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 46 @@ -861,7 +861,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 451 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 451 @@ -945,7 +945,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 403 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 403 @@ -1029,7 +1029,7 @@

Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 146 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 146 @@ -1163,7 +1163,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 62 @@ -1297,7 +1297,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 + src/pixi/renderers/webgl/utils/WebGLFilterManager.js line 32 @@ -1340,9 +1340,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1357,9 +1357,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1388,7 +1388,7 @@
Parameters:
- + diff --git a/docs/PIXI.WebGLRenderer.html b/docs/PIXI.WebGLRenderer.html index e783713f4..aa611711c 100644 --- a/docs/PIXI.WebGLRenderer.html +++ b/docs/PIXI.WebGLRenderer.html @@ -6,7 +6,7 @@ Phaser CE Class: WebGLRenderer - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 19 + src/pixi/renderers/webgl/WebGLRenderer.js line 19 @@ -338,7 +338,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 63 + src/pixi/renderers/webgl/WebGLRenderer.js line 63 @@ -415,7 +415,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 188 + src/pixi/renderers/webgl/WebGLRenderer.js line 188 @@ -495,7 +495,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 83 + src/pixi/renderers/webgl/WebGLRenderer.js line 83 @@ -568,7 +568,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 200 + src/pixi/renderers/webgl/WebGLRenderer.js line 200 @@ -645,7 +645,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 174 + src/pixi/renderers/webgl/WebGLRenderer.js line 174 @@ -722,7 +722,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 25 + src/pixi/renderers/webgl/WebGLRenderer.js line 25 @@ -799,7 +799,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 109 + src/pixi/renderers/webgl/WebGLRenderer.js line 109 @@ -876,7 +876,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 167 + src/pixi/renderers/webgl/WebGLRenderer.js line 167 @@ -949,7 +949,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 144 + src/pixi/renderers/webgl/WebGLRenderer.js line 144 @@ -1026,7 +1026,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 93 + src/pixi/renderers/webgl/WebGLRenderer.js line 93 @@ -1103,7 +1103,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 71 + src/pixi/renderers/webgl/WebGLRenderer.js line 71 @@ -1176,7 +1176,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 138 + src/pixi/renderers/webgl/WebGLRenderer.js line 138 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 194 + src/pixi/renderers/webgl/WebGLRenderer.js line 194 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 47 + src/pixi/renderers/webgl/WebGLRenderer.js line 47 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 153 + src/pixi/renderers/webgl/WebGLRenderer.js line 153 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 160 + src/pixi/renderers/webgl/WebGLRenderer.js line 160 @@ -1564,7 +1564,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 181 + src/pixi/renderers/webgl/WebGLRenderer.js line 181 @@ -1641,7 +1641,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 55 + src/pixi/renderers/webgl/WebGLRenderer.js line 55 @@ -1714,7 +1714,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 38 + src/pixi/renderers/webgl/WebGLRenderer.js line 38 @@ -1791,7 +1791,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 117 + src/pixi/renderers/webgl/WebGLRenderer.js line 117 @@ -1868,7 +1868,7 @@
Type:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 101 + src/pixi/renderers/webgl/WebGLRenderer.js line 101 @@ -1946,7 +1946,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 601 + src/pixi/renderers/webgl/WebGLRenderer.js line 601 @@ -2026,7 +2026,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 228 + src/pixi/renderers/webgl/WebGLRenderer.js line 228 @@ -2110,7 +2110,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 633 + src/pixi/renderers/webgl/WebGLRenderer.js line 633 @@ -2244,7 +2244,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 380 + src/pixi/renderers/webgl/WebGLRenderer.js line 380 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 415 + src/pixi/renderers/webgl/WebGLRenderer.js line 415 @@ -2584,7 +2584,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 452 + src/pixi/renderers/webgl/WebGLRenderer.js line 452 @@ -2729,7 +2729,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 282 + src/pixi/renderers/webgl/WebGLRenderer.js line 282 @@ -2887,7 +2887,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 479 + src/pixi/renderers/webgl/WebGLRenderer.js line 479 @@ -3045,7 +3045,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 539 + src/pixi/renderers/webgl/WebGLRenderer.js line 539 @@ -3112,9 +3112,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3129,9 +3129,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3160,7 +3160,7 @@
Returns:
- + diff --git a/docs/PIXI.html b/docs/PIXI.html index 1b138fdb7..20b675176 100644 --- a/docs/PIXI.html +++ b/docs/PIXI.html @@ -6,7 +6,7 @@ Phaser CE Namespace: PIXI - + @@ -167,7 +167,7 @@

Source:
- src/pixi/Pixi.js line 1 + src/pixi/Pixi.js line 1 @@ -317,7 +317,7 @@

Source:
- src/pixi/renderers/webgl/WebGLRenderer.js line 5 + src/pixi/renderers/webgl/WebGLRenderer.js line 5 @@ -396,7 +396,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 12 + src/pixi/textures/Texture.js line 12 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 69 @@ -916,7 +916,7 @@
Parameters:
Source:
- src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 + src/pixi/renderers/webgl/utils/WebGLShaderUtils.js line 14 @@ -979,9 +979,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -996,9 +996,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1027,7 +1027,7 @@
Returns:
- + diff --git a/docs/Phaser.Animation.html b/docs/Phaser.Animation.html index ecf63439f..1da1aede8 100644 --- a/docs/Phaser.Animation.html +++ b/docs/Phaser.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -474,7 +474,7 @@
Parameters:
Source:
- src/animation/Animation.js line 22 + src/animation/Animation.js line 22 @@ -579,7 +579,7 @@
Type:
Source:
- src/animation/Animation.js line 126 + src/animation/Animation.js line 126 @@ -656,7 +656,7 @@
Type:
Source:
- src/animation/Animation.js line 59 + src/animation/Animation.js line 59 @@ -733,7 +733,7 @@
Type:
Source:
- src/animation/Animation.js line 830 + src/animation/Animation.js line 830 @@ -810,7 +810,7 @@
Type:
Source:
- src/animation/Animation.js line 765 + src/animation/Animation.js line 765 @@ -887,7 +887,7 @@
Type:
Source:
- src/animation/Animation.js line 751 + src/animation/Animation.js line 751 @@ -964,7 +964,7 @@
Type:
Source:
- src/animation/Animation.js line 30 + src/animation/Animation.js line 30 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/animation/Animation.js line 81 + src/animation/Animation.js line 81 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/animation/Animation.js line 93 + src/animation/Animation.js line 93 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/animation/Animation.js line 87 + src/animation/Animation.js line 87 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/animation/Animation.js line 158 + src/animation/Animation.js line 158 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/animation/Animation.js line 75 + src/animation/Animation.js line 75 @@ -1426,7 +1426,7 @@
Type:
Source:
- src/animation/Animation.js line 64 + src/animation/Animation.js line 64 @@ -1503,7 +1503,7 @@
Type:
Source:
- src/animation/Animation.js line 69 + src/animation/Animation.js line 69 @@ -1580,7 +1580,7 @@
Type:
Source:
- src/animation/Animation.js line 47 + src/animation/Animation.js line 47 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/animation/Animation.js line 147 + src/animation/Animation.js line 147 @@ -1734,7 +1734,7 @@
Type:
Source:
- src/animation/Animation.js line 152 + src/animation/Animation.js line 152 @@ -1811,7 +1811,7 @@
Type:
Source:
- src/animation/Animation.js line 131 + src/animation/Animation.js line 131 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/animation/Animation.js line 142 + src/animation/Animation.js line 142 @@ -1972,7 +1972,7 @@
Type:
Source:
- src/animation/Animation.js line 693 + src/animation/Animation.js line 693 @@ -2049,7 +2049,7 @@
Type:
Source:
- src/animation/Animation.js line 729 + src/animation/Animation.js line 729 @@ -2126,7 +2126,7 @@
Type:
Source:
- src/animation/Animation.js line 805 + src/animation/Animation.js line 805 @@ -2160,8 +2160,8 @@

Really handy function for when you are creating arrays of animation data but it's using frame names and not numbers. -For example imagine you've got 30 frames named: 'explosion_0001-large' to 'explosion0030-large' -You could use this function to generate those by doing: Phaser.Animation.generateFrameNames('explosion', 1, 30, '-large', 4);

+For example imagine you've got 30 frames named: 'explosion_0001-large' to 'explosion_0030-large' +You could use this function to generate those by doing: Phaser.Animation.generateFrameNames('explosion_', 1, 30, '-large', 4);

@@ -2229,7 +2229,7 @@

Parameters:
-

The start of the filename. If the filename was 'explosion0001-large' the prefix would be 'explosion'.

+

The start of the filename. If the filename was 'explosion_0001-large' the prefix would be 'explosion_'.

@@ -2424,7 +2424,7 @@
Parameters:
Source:
- src/animation/Animation.js line 860 + src/animation/Animation.js line 860 @@ -2533,7 +2533,7 @@

Source:
- src/animation/Animation.js line 661 + src/animation/Animation.js line 661 @@ -2617,7 +2617,7 @@

Source:
- src/animation/Animation.js line 626 + src/animation/Animation.js line 626 @@ -2771,7 +2771,7 @@
Parameters:
Source:
- src/animation/Animation.js line 546 + src/animation/Animation.js line 546 @@ -2855,7 +2855,7 @@

Source:
- src/animation/Animation.js line 376 + src/animation/Animation.js line 376 @@ -2939,7 +2939,7 @@

Source:
- src/animation/Animation.js line 391 + src/animation/Animation.js line 391 @@ -3175,7 +3175,7 @@
Parameters:
Source:
- src/animation/Animation.js line 168 + src/animation/Animation.js line 168 @@ -3355,7 +3355,7 @@
Parameters:
Source:
- src/animation/Animation.js line 579 + src/animation/Animation.js line 579 @@ -3439,7 +3439,7 @@

Source:
- src/animation/Animation.js line 223 + src/animation/Animation.js line 223 @@ -3523,7 +3523,7 @@

Source:
- src/animation/Animation.js line 252 + src/animation/Animation.js line 252 @@ -3633,7 +3633,7 @@

Source:
- src/animation/Animation.js line 267 + src/animation/Animation.js line 267 @@ -3852,7 +3852,7 @@
Parameters:
Source:
- src/animation/Animation.js line 284 + src/animation/Animation.js line 284 @@ -4047,7 +4047,7 @@
Parameters:
Source:
- src/animation/Animation.js line 344 + src/animation/Animation.js line 344 @@ -4131,7 +4131,7 @@

Source:
- src/animation/Animation.js line 406 + src/animation/Animation.js line 406 @@ -4265,7 +4265,7 @@
Parameters:
Source:
- src/animation/Animation.js line 612 + src/animation/Animation.js line 612 @@ -4308,9 +4308,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -4325,9 +4325,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -4356,7 +4356,7 @@
Parameters:
- + diff --git a/docs/Phaser.AnimationManager.html b/docs/Phaser.AnimationManager.html index cc1525641..663101e39 100644 --- a/docs/Phaser.AnimationManager.html +++ b/docs/Phaser.AnimationManager.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationManager - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 15 + src/animation/AnimationManager.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 41 + src/animation/AnimationManager.js line 41 @@ -414,7 +414,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 35 + src/animation/AnimationManager.js line 35 @@ -491,7 +491,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 512 + src/animation/AnimationManager.js line 512 @@ -568,7 +568,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 446 + src/animation/AnimationManager.js line 446 @@ -645,7 +645,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 540 + src/animation/AnimationManager.js line 540 @@ -722,7 +722,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 460 + src/animation/AnimationManager.js line 460 @@ -799,7 +799,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 26 + src/animation/AnimationManager.js line 26 @@ -876,7 +876,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 53 + src/animation/AnimationManager.js line 53 @@ -953,7 +953,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 497 + src/animation/AnimationManager.js line 497 @@ -1030,7 +1030,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 475 + src/animation/AnimationManager.js line 475 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 21 + src/animation/AnimationManager.js line 21 @@ -1191,7 +1191,7 @@
Type:
Source:
- src/animation/AnimationManager.js line 47 + src/animation/AnimationManager.js line 47 @@ -1496,7 +1496,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 169 + src/animation/AnimationManager.js line 169 @@ -1605,7 +1605,7 @@

Source:
- src/animation/AnimationManager.js line 413 + src/animation/AnimationManager.js line 413 @@ -1739,7 +1739,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 378 + src/animation/AnimationManager.js line 378 @@ -1917,7 +1917,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 344 + src/animation/AnimationManager.js line 344 @@ -2191,7 +2191,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 252 + src/animation/AnimationManager.js line 252 @@ -2369,7 +2369,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 361 + src/animation/AnimationManager.js line 361 @@ -2453,7 +2453,7 @@

Source:
- src/animation/AnimationManager.js line 400 + src/animation/AnimationManager.js line 400 @@ -2648,7 +2648,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 299 + src/animation/AnimationManager.js line 299 @@ -2732,7 +2732,7 @@

Source:
- src/animation/AnimationManager.js line 319 + src/animation/AnimationManager.js line 319 @@ -2946,7 +2946,7 @@
Parameters:
Source:
- src/animation/AnimationManager.js line 219 + src/animation/AnimationManager.js line 219 @@ -3013,9 +3013,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3030,9 +3030,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3061,7 +3061,7 @@
Returns:
- + diff --git a/docs/Phaser.AnimationParser.html b/docs/Phaser.AnimationParser.html index 7a1447961..4a4501ea5 100644 --- a/docs/Phaser.AnimationParser.html +++ b/docs/Phaser.AnimationParser.html @@ -6,7 +6,7 @@ Phaser CE Class: AnimationParser - + @@ -180,7 +180,7 @@

Source:
- src/animation/AnimationParser.js line 13 + src/animation/AnimationParser.js line 13 @@ -356,7 +356,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 182 + src/animation/AnimationParser.js line 182 @@ -538,7 +538,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 301 + src/animation/AnimationParser.js line 301 @@ -720,7 +720,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 242 + src/animation/AnimationParser.js line 242 @@ -1165,7 +1165,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 15 + src/animation/AnimationParser.js line 15 @@ -1354,7 +1354,7 @@
Parameters:
Source:
- src/animation/AnimationParser.js line 364 + src/animation/AnimationParser.js line 364 @@ -1421,9 +1421,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1438,9 +1438,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1469,7 +1469,7 @@
Returns:
- + diff --git a/docs/Phaser.ArraySet.html b/docs/Phaser.ArraySet.html index 391b1468e..79e3ae5cd 100644 --- a/docs/Phaser.ArraySet.html +++ b/docs/Phaser.ArraySet.html @@ -6,7 +6,7 @@ Phaser CE Class: ArraySet - + @@ -253,7 +253,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 19 + src/utils/ArraySet.js line 19 @@ -358,7 +358,7 @@
Type:
Source:
- src/utils/ArraySet.js line 242 + src/utils/ArraySet.js line 242 @@ -435,7 +435,7 @@
Type:
Source:
- src/utils/ArraySet.js line 33 + src/utils/ArraySet.js line 33 @@ -512,7 +512,7 @@
Type:
Source:
- src/utils/ArraySet.js line 268 + src/utils/ArraySet.js line 268 @@ -589,7 +589,7 @@
Type:
Source:
- src/utils/ArraySet.js line 27 + src/utils/ArraySet.js line 27 @@ -666,7 +666,7 @@
Type:
Source:
- src/utils/ArraySet.js line 227 + src/utils/ArraySet.js line 227 @@ -795,7 +795,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 39 + src/utils/ArraySet.js line 39 @@ -999,7 +999,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 167 + src/utils/ArraySet.js line 167 @@ -1133,7 +1133,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 99 + src/utils/ArraySet.js line 99 @@ -1316,7 +1316,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 73 + src/utils/ArraySet.js line 73 @@ -1474,7 +1474,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 59 + src/utils/ArraySet.js line 59 @@ -1632,7 +1632,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 125 + src/utils/ArraySet.js line 125 @@ -1810,7 +1810,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 194 + src/utils/ArraySet.js line 194 @@ -1894,7 +1894,7 @@

Source:
- src/utils/ArraySet.js line 113 + src/utils/ArraySet.js line 113 @@ -2052,7 +2052,7 @@
Parameters:
Source:
- src/utils/ArraySet.js line 145 + src/utils/ArraySet.js line 145 @@ -2095,9 +2095,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2112,9 +2112,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2143,7 +2143,7 @@
Parameters:
- + diff --git a/docs/Phaser.ArrayUtils.html b/docs/Phaser.ArrayUtils.html index 9e9a35ff0..cb1e93b8f 100644 --- a/docs/Phaser.ArrayUtils.html +++ b/docs/Phaser.ArrayUtils.html @@ -6,7 +6,7 @@ Phaser CE Class: ArrayUtils - + @@ -180,7 +180,7 @@

Source:
- src/utils/ArrayUtils.js line 13 + src/utils/ArrayUtils.js line 13 @@ -357,7 +357,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 203 + src/utils/ArrayUtils.js line 203 @@ -565,7 +565,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 15 + src/utils/ArrayUtils.js line 15 @@ -631,9 +631,11 @@

Create an array representing the inclusive range of numbers (usually integers) in [start, end] (or [0, start], if end is omitted). This is equivalent to numberArrayStep(start, 1 + end, 1).

When exactly one argument is passed, it's used as end and 0 is used as start. The length of the result is (1 + end).

-

Examples
numberArray(3);    // -> [0, 1, 2, 3]
+
Examples
+
numberArray(3);    // -> [0, 1, 2, 3]
 numberArray(0, 3); // -> [0, 1, 2, 3]
-numberArray(1, 3); // -> [1, 2, 3]
+numberArray(1, 3); // -> [1, 2, 3] +
@@ -772,7 +774,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 283 + src/utils/ArrayUtils.js line 283 @@ -1028,7 +1030,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 322 + src/utils/ArrayUtils.js line 322 @@ -1302,7 +1304,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 76 + src/utils/ArrayUtils.js line 76 @@ -1519,7 +1521,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 40 + src/utils/ArrayUtils.js line 40 @@ -1681,7 +1683,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 260 + src/utils/ArrayUtils.js line 260 @@ -1867,7 +1869,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 161 + src/utils/ArrayUtils.js line 161 @@ -2029,7 +2031,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 237 + src/utils/ArrayUtils.js line 237 @@ -2187,7 +2189,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 110 + src/utils/ArrayUtils.js line 110 @@ -2345,7 +2347,7 @@
Parameters:
Source:
- src/utils/ArrayUtils.js line 132 + src/utils/ArrayUtils.js line 132 @@ -2412,9 +2414,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2429,9 +2431,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2460,7 +2462,7 @@
Returns:
- + diff --git a/docs/Phaser.AudioSprite.html b/docs/Phaser.AudioSprite.html index 508675748..ec79118b4 100644 --- a/docs/Phaser.AudioSprite.html +++ b/docs/Phaser.AudioSprite.html @@ -6,7 +6,7 @@ Phaser CE Class: AudioSprite - + @@ -255,7 +255,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 17 + src/sound/AudioSprite.js line 17 @@ -360,7 +360,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 49 + src/sound/AudioSprite.js line 49 @@ -437,7 +437,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 42 + src/sound/AudioSprite.js line 42 @@ -514,7 +514,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 36 + src/sound/AudioSprite.js line 36 @@ -591,7 +591,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 24 + src/sound/AudioSprite.js line 24 @@ -668,7 +668,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 30 + src/sound/AudioSprite.js line 30 @@ -745,7 +745,7 @@
Type:
Source:
- src/sound/AudioSprite.js line 55 + src/sound/AudioSprite.js line 55 @@ -873,7 +873,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 118 + src/sound/AudioSprite.js line 118 @@ -1089,7 +1089,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 78 + src/sound/AudioSprite.js line 78 @@ -1267,7 +1267,7 @@
Parameters:
Source:
- src/sound/AudioSprite.js line 95 + src/sound/AudioSprite.js line 95 @@ -1310,9 +1310,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1327,9 +1327,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1358,7 +1358,7 @@
Parameters:
- + diff --git a/docs/Phaser.BitmapData.html b/docs/Phaser.BitmapData.html index 46097c563..03e9c8528 100644 --- a/docs/Phaser.BitmapData.html +++ b/docs/Phaser.BitmapData.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapData - + @@ -407,7 +407,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 24 + src/gameobjects/BitmapData.js line 24 @@ -512,7 +512,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 123 + src/gameobjects/BitmapData.js line 123 @@ -589,7 +589,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 55 + src/gameobjects/BitmapData.js line 55 @@ -666,7 +666,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 61 + src/gameobjects/BitmapData.js line 61 @@ -743,7 +743,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 66 + src/gameobjects/BitmapData.js line 66 @@ -821,7 +821,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 85 + src/gameobjects/BitmapData.js line 85 @@ -898,7 +898,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 158 + src/gameobjects/BitmapData.js line 158 @@ -975,7 +975,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 153 + src/gameobjects/BitmapData.js line 153 @@ -1052,7 +1052,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 134 + src/gameobjects/BitmapData.js line 134 @@ -1129,7 +1129,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 34 + src/gameobjects/BitmapData.js line 34 @@ -1206,7 +1206,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 49 + src/gameobjects/BitmapData.js line 49 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 78 + src/gameobjects/BitmapData.js line 78 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 39 + src/gameobjects/BitmapData.js line 39 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 2581 + src/gameobjects/BitmapData.js line 2581 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 95 + src/gameobjects/BitmapData.js line 95 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 2559 + src/gameobjects/BitmapData.js line 2559 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 71 + src/gameobjects/BitmapData.js line 71 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 129 + src/gameobjects/BitmapData.js line 129 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 140 + src/gameobjects/BitmapData.js line 140 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 148 + src/gameobjects/BitmapData.js line 148 @@ -1978,7 +1978,7 @@
Type:
Source:
- src/gameobjects/BitmapData.js line 44 + src/gameobjects/BitmapData.js line 44 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2603 + src/gameobjects/BitmapData.js line 2603 @@ -2394,7 +2394,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 395 + src/gameobjects/BitmapData.js line 395 @@ -2772,7 +2772,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1239 + src/gameobjects/BitmapData.js line 1239 @@ -3078,7 +3078,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1805 + src/gameobjects/BitmapData.js line 1805 @@ -3186,7 +3186,7 @@

Source:
- src/gameobjects/BitmapData.js line 2305 + src/gameobjects/BitmapData.js line 2305 @@ -3294,7 +3294,7 @@

Source:
- src/gameobjects/BitmapData.js line 2501 + src/gameobjects/BitmapData.js line 2501 @@ -3402,7 +3402,7 @@

Source:
- src/gameobjects/BitmapData.js line 2403 + src/gameobjects/BitmapData.js line 2403 @@ -3510,7 +3510,7 @@

Source:
- src/gameobjects/BitmapData.js line 2389 + src/gameobjects/BitmapData.js line 2389 @@ -3618,7 +3618,7 @@

Source:
- src/gameobjects/BitmapData.js line 2361 + src/gameobjects/BitmapData.js line 2361 @@ -3726,7 +3726,7 @@

Source:
- src/gameobjects/BitmapData.js line 2277 + src/gameobjects/BitmapData.js line 2277 @@ -3834,7 +3834,7 @@

Source:
- src/gameobjects/BitmapData.js line 2249 + src/gameobjects/BitmapData.js line 2249 @@ -3942,7 +3942,7 @@

Source:
- src/gameobjects/BitmapData.js line 2263 + src/gameobjects/BitmapData.js line 2263 @@ -4050,7 +4050,7 @@

Source:
- src/gameobjects/BitmapData.js line 2235 + src/gameobjects/BitmapData.js line 2235 @@ -4158,7 +4158,7 @@

Source:
- src/gameobjects/BitmapData.js line 2445 + src/gameobjects/BitmapData.js line 2445 @@ -4266,7 +4266,7 @@

Source:
- src/gameobjects/BitmapData.js line 2459 + src/gameobjects/BitmapData.js line 2459 @@ -4374,7 +4374,7 @@

Source:
- src/gameobjects/BitmapData.js line 2417 + src/gameobjects/BitmapData.js line 2417 @@ -4482,7 +4482,7 @@

Source:
- src/gameobjects/BitmapData.js line 2473 + src/gameobjects/BitmapData.js line 2473 @@ -4590,7 +4590,7 @@

Source:
- src/gameobjects/BitmapData.js line 2375 + src/gameobjects/BitmapData.js line 2375 @@ -4698,7 +4698,7 @@

Source:
- src/gameobjects/BitmapData.js line 2515 + src/gameobjects/BitmapData.js line 2515 @@ -4806,7 +4806,7 @@

Source:
- src/gameobjects/BitmapData.js line 2319 + src/gameobjects/BitmapData.js line 2319 @@ -4914,7 +4914,7 @@

Source:
- src/gameobjects/BitmapData.js line 2347 + src/gameobjects/BitmapData.js line 2347 @@ -5022,7 +5022,7 @@

Source:
- src/gameobjects/BitmapData.js line 2165 + src/gameobjects/BitmapData.js line 2165 @@ -5130,7 +5130,7 @@

Source:
- src/gameobjects/BitmapData.js line 2487 + src/gameobjects/BitmapData.js line 2487 @@ -5238,7 +5238,7 @@

Source:
- src/gameobjects/BitmapData.js line 2333 + src/gameobjects/BitmapData.js line 2333 @@ -5346,7 +5346,7 @@

Source:
- src/gameobjects/BitmapData.js line 2431 + src/gameobjects/BitmapData.js line 2431 @@ -5454,7 +5454,7 @@

Source:
- src/gameobjects/BitmapData.js line 2221 + src/gameobjects/BitmapData.js line 2221 @@ -5562,7 +5562,7 @@

Source:
- src/gameobjects/BitmapData.js line 2193 + src/gameobjects/BitmapData.js line 2193 @@ -5670,7 +5670,7 @@

Source:
- src/gameobjects/BitmapData.js line 2207 + src/gameobjects/BitmapData.js line 2207 @@ -5778,7 +5778,7 @@

Source:
- src/gameobjects/BitmapData.js line 2179 + src/gameobjects/BitmapData.js line 2179 @@ -5886,7 +5886,7 @@

Source:
- src/gameobjects/BitmapData.js line 2291 + src/gameobjects/BitmapData.js line 2291 @@ -6152,7 +6152,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1962 + src/gameobjects/BitmapData.js line 1962 @@ -6450,7 +6450,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 467 + src/gameobjects/BitmapData.js line 467 @@ -6558,7 +6558,7 @@

Source:
- src/gameobjects/BitmapData.js line 461 + src/gameobjects/BitmapData.js line 461 @@ -7366,7 +7366,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1266 + src/gameobjects/BitmapData.js line 1266 @@ -7607,7 +7607,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2529 + src/gameobjects/BitmapData.js line 2529 @@ -8027,7 +8027,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1597 + src/gameobjects/BitmapData.js line 1597 @@ -8298,7 +8298,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1488 + src/gameobjects/BitmapData.js line 1488 @@ -8406,7 +8406,7 @@

Source:
- src/gameobjects/BitmapData.js line 2149 + src/gameobjects/BitmapData.js line 2149 @@ -8807,7 +8807,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1617 + src/gameobjects/BitmapData.js line 1617 @@ -9085,7 +9085,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1713 + src/gameobjects/BitmapData.js line 1713 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1646 + src/gameobjects/BitmapData.js line 1646 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1840 + src/gameobjects/BitmapData.js line 1840 @@ -10115,7 +10115,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 499 + src/gameobjects/BitmapData.js line 499 @@ -10183,14 +10183,22 @@

Finally a PIXI.Texture is created based on the image and returned.

You can apply the texture to a sprite or any other supporting object by using either the key or the texture. First call generateTexture:

-
var texture = bitmapdata.generateTexture('ball');

Then you can either apply the texture to a sprite:

-
game.add.sprite(0, 0, texture);

or by using the string based key:

-
game.add.sprite(0, 0, 'ball');

Most browsers now load the image data asynchronously, so you should use a callback:

+
var texture = bitmapdata.generateTexture('ball');
+
+

Then you can either apply the texture to a sprite:

+
game.add.sprite(0, 0, texture);
+
+

or by using the string based key:

+
game.add.sprite(0, 0, 'ball');
+
+

Most browsers now load the image data asynchronously, so you should use a callback:

bitmapdata.generateTexture('ball', function (texture) {
     game.add.sprite(0, 0, texture);
     // or
     game.add.sprite(0, 0, 'ball');
-});

If this BitmapData is available during preload, you can use Phaser.Loader#imageFromBitmapData instead.

+}); + +

If this BitmapData is available during preload, you can use Phaser.Loader#imageFromBitmapData instead.

@@ -10363,7 +10371,7 @@

Parameters:
Source:
- src/gameobjects/BitmapData.js line 522 + src/gameobjects/BitmapData.js line 522 @@ -10537,7 +10545,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1210 + src/gameobjects/BitmapData.js line 1210 @@ -10721,7 +10729,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1125 + src/gameobjects/BitmapData.js line 1125 @@ -10957,7 +10965,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1038 + src/gameobjects/BitmapData.js line 1038 @@ -11142,7 +11150,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1070 + src/gameobjects/BitmapData.js line 1070 @@ -11472,7 +11480,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1091 + src/gameobjects/BitmapData.js line 1091 @@ -11630,7 +11638,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1111 + src/gameobjects/BitmapData.js line 1111 @@ -11992,7 +12000,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1992 + src/gameobjects/BitmapData.js line 1992 @@ -12171,7 +12179,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 425 + src/gameobjects/BitmapData.js line 425 @@ -12422,7 +12430,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 239 + src/gameobjects/BitmapData.js line 239 @@ -12637,7 +12645,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 267 + src/gameobjects/BitmapData.js line 267 @@ -12852,7 +12860,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 331 + src/gameobjects/BitmapData.js line 331 @@ -13156,7 +13164,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2027 + src/gameobjects/BitmapData.js line 2027 @@ -13526,7 +13534,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 747 + src/gameobjects/BitmapData.js line 747 @@ -13899,7 +13907,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 688 + src/gameobjects/BitmapData.js line 688 @@ -14197,7 +14205,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1894 + src/gameobjects/BitmapData.js line 1894 @@ -14307,7 +14315,7 @@

Source:
- src/gameobjects/BitmapData.js line 2128 + src/gameobjects/BitmapData.js line 2128 @@ -14734,7 +14742,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 802 + src/gameobjects/BitmapData.js line 802 @@ -14916,7 +14924,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 598 + src/gameobjects/BitmapData.js line 598 @@ -15212,7 +15220,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 853 + src/gameobjects/BitmapData.js line 853 @@ -15570,7 +15578,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1019 + src/gameobjects/BitmapData.js line 1019 @@ -15964,7 +15972,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 979 + src/gameobjects/BitmapData.js line 979 @@ -16260,7 +16268,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1772 + src/gameobjects/BitmapData.js line 1772 @@ -16558,7 +16566,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 915 + src/gameobjects/BitmapData.js line 915 @@ -16926,7 +16934,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 1919 + src/gameobjects/BitmapData.js line 1919 @@ -17179,7 +17187,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 2077 + src/gameobjects/BitmapData.js line 2077 @@ -17480,7 +17488,7 @@
Parameters:
Source:
- src/gameobjects/BitmapData.js line 643 + src/gameobjects/BitmapData.js line 643 @@ -17547,9 +17555,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -17564,9 +17572,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -17595,7 +17603,7 @@
Returns:
- + diff --git a/docs/Phaser.BitmapText.html b/docs/Phaser.BitmapText.html index 04ebd3574..321c491d2 100644 --- a/docs/Phaser.BitmapText.html +++ b/docs/Phaser.BitmapText.html @@ -6,7 +6,7 @@ Phaser CE Class: BitmapText - + @@ -489,7 +489,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 54 + src/gameobjects/BitmapText.js line 54 @@ -627,7 +627,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 575 + src/gameobjects/BitmapText.js line 575 @@ -724,7 +724,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -820,7 +820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -897,7 +897,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 93 + src/gameobjects/BitmapText.js line 93 @@ -925,9 +925,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -988,7 +988,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1075,7 +1075,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1198,13 +1198,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -1275,7 +1275,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1542,7 +1542,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1742,7 +1742,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -1808,7 +1808,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -1894,7 +1894,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1980,7 +1980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -2076,7 +2076,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2162,7 +2162,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2188,7 +2188,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2249,7 +2249,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2326,7 +2326,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 160 + src/gameobjects/BitmapText.js line 160 @@ -2413,7 +2413,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2511,7 +2511,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 309 + src/gameobjects/components/Core.js line 282 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2688,7 +2688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2714,11 +2714,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2781,7 +2781,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -2858,7 +2858,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 623 + src/gameobjects/BitmapText.js line 623 @@ -2935,7 +2935,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 648 + src/gameobjects/BitmapText.js line 648 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3194,7 +3194,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3290,7 +3290,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3378,7 +3378,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3465,7 +3465,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3556,7 +3556,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3649,7 +3649,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3735,7 +3735,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -3837,7 +3837,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -3924,7 +3924,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -4001,7 +4001,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 551 + src/gameobjects/BitmapText.js line 551 @@ -4091,7 +4091,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -4180,7 +4180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4261,7 +4261,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 698 + src/gameobjects/BitmapText.js line 698 @@ -4348,7 +4348,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4436,7 +4436,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4524,7 +4524,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4610,7 +4610,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -4697,7 +4697,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -4786,7 +4786,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4875,7 +4875,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -4952,7 +4952,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 76 + src/gameobjects/BitmapText.js line 76 @@ -5039,7 +5039,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -5127,7 +5127,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -5213,7 +5213,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -5386,7 +5386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -5473,7 +5473,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -5649,7 +5649,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -5738,7 +5738,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -5817,7 +5817,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 733 + src/gameobjects/BitmapText.js line 733 @@ -5894,7 +5894,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 674 + src/gameobjects/BitmapText.js line 674 @@ -5971,7 +5971,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 88 + src/gameobjects/BitmapText.js line 88 @@ -6048,7 +6048,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 82 + src/gameobjects/BitmapText.js line 82 @@ -6125,7 +6125,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 599 + src/gameobjects/BitmapText.js line 599 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -6289,7 +6289,7 @@
Type:
Source:
- src/gameobjects/BitmapText.js line 70 + src/gameobjects/BitmapText.js line 70 @@ -6388,7 +6388,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -6474,7 +6474,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -6562,7 +6562,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -6654,7 +6654,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -6745,7 +6745,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -6836,7 +6836,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -6927,7 +6927,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -7018,7 +7018,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -7104,7 +7104,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -7196,7 +7196,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7288,7 +7288,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -7377,7 +7377,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -7514,7 +7514,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7705,7 +7705,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -8048,7 +8048,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -8392,7 +8392,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -8608,7 +8608,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 323 + src/gameobjects/BitmapText.js line 323 @@ -8775,7 +8775,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -8895,7 +8895,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -9140,7 +9140,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -9324,7 +9324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -9491,7 +9491,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -9658,7 +9658,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -9775,7 +9775,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -9896,7 +9896,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -10009,7 +10009,7 @@

Source:
- src/gameobjects/BitmapText.js line 206 + src/gameobjects/BitmapText.js line 206 @@ -10098,7 +10098,7 @@

Source:
- src/gameobjects/BitmapText.js line 194 + src/gameobjects/BitmapText.js line 194 @@ -10215,7 +10215,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -10304,7 +10304,7 @@

Source:
- src/gameobjects/BitmapText.js line 491 + src/gameobjects/BitmapText.js line 491 @@ -10471,7 +10471,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -10829,7 +10829,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -10869,7 +10869,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -11068,7 +11068,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11257,7 +11257,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -11448,7 +11448,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -11583,7 +11583,7 @@
Parameters:
Source:
- src/gameobjects/BitmapText.js line 226 + src/gameobjects/BitmapText.js line 226 @@ -11750,7 +11750,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -11893,7 +11893,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -12106,7 +12106,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -12227,7 +12227,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -12320,7 +12320,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -12389,9 +12389,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -12406,9 +12406,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -12437,7 +12437,7 @@
Returns:

- + diff --git a/docs/Phaser.Bullet.html b/docs/Phaser.Bullet.html index 2ea9d05b6..f8d064b03 100644 --- a/docs/Phaser.Bullet.html +++ b/docs/Phaser.Bullet.html @@ -6,7 +6,7 @@ Phaser CE Class: Bullet - + @@ -339,7 +339,7 @@

Parameters:
Source:
- src/plugins/weapon/Bullet.js line 20 + src/plugins/weapon/Bullet.js line 20 @@ -480,7 +480,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -576,7 +576,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -666,7 +666,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 29 + src/pixi/display/Sprite.js line 29 @@ -694,9 +694,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -757,7 +757,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -844,7 +844,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1035,7 +1035,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 94 + src/pixi/display/Sprite.js line 94 @@ -1061,13 +1061,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -1138,7 +1138,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1605,7 +1605,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -1757,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1843,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1870,7 +1870,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -1931,7 +1931,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2032,7 +2032,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2118,7 +2118,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2292,7 +2292,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 43 + src/gameobjects/components/Delta.js line 43 @@ -2378,7 +2378,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 60 + src/gameobjects/components/Delta.js line 60 @@ -2404,7 +2404,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2465,7 +2465,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2552,7 +2552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 113 + src/pixi/display/Sprite.js line 113 @@ -2743,7 +2743,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2860,11 +2860,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2927,7 +2927,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -3018,7 +3018,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -3045,7 +3045,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -3109,7 +3109,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -3196,7 +3196,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3376,7 +3376,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3462,7 +3462,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3646,7 +3646,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3733,7 +3733,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3917,7 +3917,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4003,7 +4003,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -4105,7 +4105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -4192,7 +4192,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4465,7 +4465,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4552,7 +4552,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4640,7 +4640,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4728,7 +4728,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4814,7 +4814,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -4990,7 +4990,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -5079,7 +5079,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 62 + src/gameobjects/Sprite.js line 62 @@ -5252,7 +5252,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -5340,7 +5340,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -5426,7 +5426,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -5512,7 +5512,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -5686,7 +5686,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -5867,7 +5867,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -5956,7 +5956,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -6044,7 +6044,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6132,7 +6132,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 104 + src/pixi/display/Sprite.js line 104 @@ -6314,7 +6314,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6400,7 +6400,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 37 + src/pixi/display/Sprite.js line 37 @@ -6493,7 +6493,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 64 + src/pixi/display/Sprite.js line 64 @@ -6586,7 +6586,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 83 + src/pixi/display/Sprite.js line 83 @@ -6673,7 +6673,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6845,7 +6845,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6931,7 +6931,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 56 + src/gameobjects/Sprite.js line 56 @@ -7035,7 +7035,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -7121,7 +7121,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -7209,7 +7209,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -7301,7 +7301,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -7392,7 +7392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -7483,7 +7483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -7574,7 +7574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -7665,7 +7665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -7751,7 +7751,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -7838,7 +7838,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7925,7 +7925,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -8014,7 +8014,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -8151,7 +8151,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -8342,7 +8342,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -8685,7 +8685,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -9029,7 +9029,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -9149,7 +9149,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -9379,9 +9379,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -9542,7 +9542,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9686,7 +9686,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -9805,7 +9805,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -10050,7 +10050,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -10225,7 +10225,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 213 + src/pixi/display/Sprite.js line 213 @@ -10392,7 +10392,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -10559,7 +10559,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -10676,7 +10676,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -10843,7 +10843,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 92 + src/gameobjects/components/Health.js line 92 @@ -10957,7 +10957,7 @@

Source:
- src/plugins/weapon/Bullet.js line 42 + src/plugins/weapon/Bullet.js line 42 @@ -11000,10 +11000,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -11218,7 +11218,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11259,7 +11259,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -11314,7 +11314,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -11434,7 +11434,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -11497,7 +11497,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -11617,7 +11617,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -11923,7 +11923,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12040,7 +12040,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -12133,7 +12133,7 @@

Source:
- src/gameobjects/Sprite.js line 108 + src/gameobjects/Sprite.js line 108 @@ -12250,7 +12250,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -12393,7 +12393,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -12560,7 +12560,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -12751,7 +12751,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -12791,7 +12791,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -12990,7 +12990,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -13107,7 +13107,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -13300,7 +13300,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -13465,7 +13465,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -13585,7 +13585,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -13776,7 +13776,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -13920,7 +13920,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -14064,7 +14064,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 71 + src/gameobjects/components/Health.js line 71 @@ -14325,7 +14325,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -14525,7 +14525,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 177 + src/pixi/display/Sprite.js line 177 @@ -14692,7 +14692,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -14835,7 +14835,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -15048,7 +15048,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -15163,7 +15163,7 @@

Source:
- src/plugins/weapon/Bullet.js line 62 + src/plugins/weapon/Bullet.js line 62 @@ -15256,7 +15256,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -15376,7 +15376,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -15539,7 +15539,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -15608,9 +15608,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -15625,9 +15625,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -15656,7 +15656,7 @@
Returns:

- + diff --git a/docs/Phaser.Button.html b/docs/Phaser.Button.html index 627039b75..4f56c5cc7 100644 --- a/docs/Phaser.Button.html +++ b/docs/Phaser.Button.html @@ -6,7 +6,7 @@ Phaser CE Class: Button - + @@ -613,7 +613,7 @@

Parameters:
Source:
- src/gameobjects/Button.js line 35 + src/gameobjects/Button.js line 35 @@ -749,7 +749,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -845,7 +845,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -935,7 +935,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 29 + src/pixi/display/Sprite.js line 29 @@ -963,9 +963,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -1026,7 +1026,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1113,7 +1113,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -1210,7 +1210,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1304,7 +1304,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 94 + src/pixi/display/Sprite.js line 94 @@ -1391,7 +1391,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1484,7 +1484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1571,7 +1571,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1658,7 +1658,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1831,7 +1831,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1917,7 +1917,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1944,7 +1944,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -2005,7 +2005,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2101,7 +2101,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2187,7 +2187,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2213,7 +2213,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2274,7 +2274,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2361,7 +2361,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2461,7 +2461,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 113 + src/pixi/display/Sprite.js line 113 @@ -2547,7 +2547,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2638,7 +2638,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2664,11 +2664,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2731,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -2812,7 +2812,7 @@
Type:
Source:
- src/gameobjects/Button.js line 204 + src/gameobjects/Button.js line 204 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -2935,7 +2935,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -3004,7 +3004,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -3081,7 +3081,7 @@
Type:
Source:
- src/gameobjects/Button.js line 194 + src/gameobjects/Button.js line 194 @@ -3168,7 +3168,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -3254,7 +3254,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3340,7 +3340,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3436,7 +3436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3524,7 +3524,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3611,7 +3611,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3702,7 +3702,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3800,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3878,7 +3878,7 @@
Type:
Source:
- src/gameobjects/Button.js line 187 + src/gameobjects/Button.js line 187 @@ -3980,7 +3980,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -4067,7 +4067,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -4157,7 +4157,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -4246,7 +4246,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4333,7 +4333,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4421,7 +4421,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4509,7 +4509,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4592,7 +4592,7 @@
Type:
Source:
- src/gameobjects/Button.js line 106 + src/gameobjects/Button.js line 106 @@ -4669,7 +4669,7 @@
Type:
Source:
- src/gameobjects/Button.js line 134 + src/gameobjects/Button.js line 134 @@ -4746,7 +4746,7 @@
Type:
Source:
- src/gameobjects/Button.js line 162 + src/gameobjects/Button.js line 162 @@ -4830,7 +4830,7 @@
Type:
Source:
- src/gameobjects/Button.js line 155 + src/gameobjects/Button.js line 155 @@ -4914,7 +4914,7 @@
Type:
Source:
- src/gameobjects/Button.js line 148 + src/gameobjects/Button.js line 148 @@ -4998,7 +4998,7 @@
Type:
Source:
- src/gameobjects/Button.js line 169 + src/gameobjects/Button.js line 169 @@ -5088,7 +5088,7 @@
Type:
Source:
- src/gameobjects/Button.js line 99 + src/gameobjects/Button.js line 99 @@ -5165,7 +5165,7 @@
Type:
Source:
- src/gameobjects/Button.js line 127 + src/gameobjects/Button.js line 127 @@ -5250,7 +5250,7 @@
Type:
Source:
- src/gameobjects/Button.js line 178 + src/gameobjects/Button.js line 178 @@ -5333,7 +5333,7 @@
Type:
Source:
- src/gameobjects/Button.js line 92 + src/gameobjects/Button.js line 92 @@ -5410,7 +5410,7 @@
Type:
Source:
- src/gameobjects/Button.js line 120 + src/gameobjects/Button.js line 120 @@ -5493,7 +5493,7 @@
Type:
Source:
- src/gameobjects/Button.js line 113 + src/gameobjects/Button.js line 113 @@ -5570,7 +5570,7 @@
Type:
Source:
- src/gameobjects/Button.js line 141 + src/gameobjects/Button.js line 141 @@ -5659,7 +5659,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -5748,7 +5748,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -5825,7 +5825,7 @@
Type:
Source:
- src/gameobjects/Button.js line 57 + src/gameobjects/Button.js line 57 @@ -5912,7 +5912,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -6000,7 +6000,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -6086,7 +6086,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -6172,7 +6172,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -6259,7 +6259,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -6346,7 +6346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -6433,7 +6433,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -6522,7 +6522,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -6611,7 +6611,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -6699,7 +6699,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6787,7 +6787,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6881,7 +6881,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 104 + src/pixi/display/Sprite.js line 104 @@ -6969,7 +6969,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -7055,7 +7055,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 37 + src/pixi/display/Sprite.js line 37 @@ -7148,7 +7148,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 64 + src/pixi/display/Sprite.js line 64 @@ -7241,7 +7241,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 83 + src/pixi/display/Sprite.js line 83 @@ -7328,7 +7328,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -7414,7 +7414,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7500,7 +7500,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7582,7 +7582,7 @@
Type:
Source:
- src/gameobjects/Button.js line 51 + src/gameobjects/Button.js line 51 @@ -7681,7 +7681,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -7767,7 +7767,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -7855,7 +7855,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -7947,7 +7947,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -8397,7 +8397,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -8484,7 +8484,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8571,7 +8571,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -8660,7 +8660,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -8797,7 +8797,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -8988,7 +8988,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -9331,7 +9331,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -9675,7 +9675,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -9795,7 +9795,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9903,7 +9903,7 @@

Source:
- src/gameobjects/Button.js line 236 + src/gameobjects/Button.js line 236 @@ -10046,7 +10046,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -10109,9 +10109,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -10272,7 +10272,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -10367,7 +10367,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -10612,7 +10612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -10787,7 +10787,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 213 + src/pixi/display/Sprite.js line 213 @@ -10954,7 +10954,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -11121,7 +11121,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -11238,7 +11238,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11359,7 +11359,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -11426,10 +11426,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -11644,7 +11644,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11685,7 +11685,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -11740,7 +11740,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -11860,7 +11860,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -12042,7 +12042,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 534 + src/gameobjects/Button.js line 534 @@ -12200,7 +12200,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 513 + src/gameobjects/Button.js line 513 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 479 + src/gameobjects/Button.js line 479 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 555 + src/gameobjects/Button.js line 555 @@ -12579,7 +12579,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -12699,7 +12699,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -13005,7 +13005,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -13122,7 +13122,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -13215,7 +13215,7 @@

Source:
- src/gameobjects/Image.js line 82 + src/gameobjects/Image.js line 82 @@ -13308,7 +13308,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -13451,7 +13451,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -13618,7 +13618,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -13809,7 +13809,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -13849,7 +13849,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -14048,7 +14048,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14165,7 +14165,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -14358,7 +14358,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -14523,7 +14523,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -14643,7 +14643,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -14834,7 +14834,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -15015,7 +15015,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 449 + src/gameobjects/Button.js line 449 @@ -15159,7 +15159,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -15420,7 +15420,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 313 + src/gameobjects/Button.js line 313 @@ -15601,7 +15601,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 434 + src/gameobjects/Button.js line 434 @@ -15782,7 +15782,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 419 + src/gameobjects/Button.js line 419 @@ -16019,7 +16019,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -16417,7 +16417,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 392 + src/gameobjects/Button.js line 392 @@ -16617,7 +16617,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 177 + src/pixi/display/Sprite.js line 177 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/gameobjects/Button.js line 464 + src/gameobjects/Button.js line 464 @@ -16965,7 +16965,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -17108,7 +17108,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -17321,7 +17321,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -17442,7 +17442,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -17535,7 +17535,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -17655,7 +17655,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -17818,7 +17818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -17887,9 +17887,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -17904,9 +17904,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -17935,7 +17935,7 @@
Returns:

- + diff --git a/docs/Phaser.Cache.html b/docs/Phaser.Cache.html index 6e9f74f28..b861b9807 100644 --- a/docs/Phaser.Cache.html +++ b/docs/Phaser.Cache.html @@ -6,7 +6,7 @@ Phaser CE Class: Cache - + @@ -245,7 +245,7 @@

Parameters:
Source:
- src/loader/Cache.js line 34 + src/loader/Cache.js line 34 @@ -346,7 +346,7 @@
Type:
Source:
- src/loader/Cache.js line 180 + src/loader/Cache.js line 180 @@ -419,7 +419,7 @@
Type:
Source:
- src/loader/Cache.js line 186 + src/loader/Cache.js line 186 @@ -492,7 +492,7 @@
Type:
Source:
- src/loader/Cache.js line 192 + src/loader/Cache.js line 192 @@ -565,7 +565,7 @@
Type:
Source:
- src/loader/Cache.js line 138 + src/loader/Cache.js line 138 @@ -642,7 +642,7 @@
Type:
Source:
- src/loader/Cache.js line 229 + src/loader/Cache.js line 229 @@ -719,7 +719,7 @@
Type:
Source:
- src/loader/Cache.js line 236 + src/loader/Cache.js line 236 @@ -796,7 +796,7 @@
Type:
Source:
- src/loader/Cache.js line 243 + src/loader/Cache.js line 243 @@ -869,7 +869,7 @@
Type:
Source:
- src/loader/Cache.js line 144 + src/loader/Cache.js line 144 @@ -942,7 +942,7 @@
Type:
Source:
- src/loader/Cache.js line 198 + src/loader/Cache.js line 198 @@ -1019,7 +1019,7 @@
Type:
Source:
- src/loader/Cache.js line 250 + src/loader/Cache.js line 250 @@ -1096,7 +1096,7 @@
Type:
Source:
- src/loader/Cache.js line 257 + src/loader/Cache.js line 257 @@ -1173,7 +1173,7 @@
Type:
Source:
- src/loader/Cache.js line 264 + src/loader/Cache.js line 264 @@ -1246,7 +1246,7 @@
Type:
Source:
- src/loader/Cache.js line 168 + src/loader/Cache.js line 168 @@ -1330,7 +1330,7 @@
Type:
Source:
- src/loader/Cache.js line 272 + src/loader/Cache.js line 272 @@ -1403,7 +1403,7 @@
Type:
Source:
- src/loader/Cache.js line 222 + src/loader/Cache.js line 222 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/loader/Cache.js line 216 + src/loader/Cache.js line 216 @@ -1549,7 +1549,7 @@
Type:
Source:
- src/loader/Cache.js line 156 + src/loader/Cache.js line 156 @@ -1622,7 +1622,7 @@
Type:
Source:
- src/loader/Cache.js line 162 + src/loader/Cache.js line 162 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/loader/Cache.js line 150 + src/loader/Cache.js line 150 @@ -1768,7 +1768,7 @@
Type:
Source:
- src/loader/Cache.js line 174 + src/loader/Cache.js line 174 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/loader/Cache.js line 210 + src/loader/Cache.js line 210 @@ -1914,7 +1914,7 @@
Type:
Source:
- src/loader/Cache.js line 204 + src/loader/Cache.js line 204 @@ -1991,7 +1991,7 @@
Type:
Source:
- src/loader/Cache.js line 46 + src/loader/Cache.js line 46 @@ -2068,7 +2068,7 @@
Type:
Source:
- src/loader/Cache.js line 40 + src/loader/Cache.js line 40 @@ -2145,7 +2145,7 @@
Type:
Source:
- src/loader/Cache.js line 128 + src/loader/Cache.js line 128 @@ -2222,7 +2222,7 @@
Type:
Source:
- src/loader/Cache.js line 93 + src/loader/Cache.js line 93 @@ -2374,7 +2374,7 @@
Parameters:
Source:
- src/loader/Cache.js line 546 + src/loader/Cache.js line 546 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/loader/Cache.js line 560 + src/loader/Cache.js line 560 @@ -3005,7 +3005,7 @@
Parameters:
Source:
- src/loader/Cache.js line 586 + src/loader/Cache.js line 586 @@ -3388,7 +3388,7 @@
Parameters:
Source:
- src/loader/Cache.js line 626 + src/loader/Cache.js line 626 @@ -3598,7 +3598,7 @@
Parameters:
Source:
- src/loader/Cache.js line 321 + src/loader/Cache.js line 321 @@ -3685,7 +3685,7 @@

Source:
- src/loader/Cache.js line 413 + src/loader/Cache.js line 413 @@ -3869,7 +3869,7 @@
Parameters:
Source:
- src/loader/Cache.js line 338 + src/loader/Cache.js line 338 @@ -4075,7 +4075,7 @@
Parameters:
Source:
- src/loader/Cache.js line 682 + src/loader/Cache.js line 682 @@ -4162,7 +4162,7 @@

Source:
- src/loader/Cache.js line 436 + src/loader/Cache.js line 436 @@ -4368,7 +4368,7 @@
Parameters:
Source:
- src/loader/Cache.js line 510 + src/loader/Cache.js line 510 @@ -4526,7 +4526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 751 + src/loader/Cache.js line 751 @@ -4708,7 +4708,7 @@
Parameters:
Source:
- src/loader/Cache.js line 734 + src/loader/Cache.js line 734 @@ -4938,7 +4938,7 @@
Parameters:
Source:
- src/loader/Cache.js line 456 + src/loader/Cache.js line 456 @@ -5392,7 +5392,7 @@
Parameters:
Source:
- src/loader/Cache.js line 765 + src/loader/Cache.js line 765 @@ -5574,7 +5574,7 @@
Parameters:
Source:
- src/loader/Cache.js line 493 + src/loader/Cache.js line 493 @@ -5804,7 +5804,7 @@
Parameters:
Source:
- src/loader/Cache.js line 804 + src/loader/Cache.js line 804 @@ -6010,7 +6010,7 @@
Parameters:
Source:
- src/loader/Cache.js line 528 + src/loader/Cache.js line 528 @@ -6216,7 +6216,7 @@
Parameters:
Source:
- src/loader/Cache.js line 716 + src/loader/Cache.js line 716 @@ -6398,7 +6398,7 @@
Parameters:
Source:
- src/loader/Cache.js line 699 + src/loader/Cache.js line 699 @@ -6532,7 +6532,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1120 + src/loader/Cache.js line 1120 @@ -6690,7 +6690,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1134 + src/loader/Cache.js line 1134 @@ -6848,7 +6848,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1148 + src/loader/Cache.js line 1148 @@ -7006,7 +7006,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1022 + src/loader/Cache.js line 1022 @@ -7164,7 +7164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1036 + src/loader/Cache.js line 1036 @@ -7322,7 +7322,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1162 + src/loader/Cache.js line 1162 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/loader/Cache.js line 980 + src/loader/Cache.js line 980 @@ -7662,7 +7662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1092 + src/loader/Cache.js line 1092 @@ -7820,7 +7820,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1218 + src/loader/Cache.js line 1218 @@ -7978,7 +7978,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1204 + src/loader/Cache.js line 1204 @@ -8136,7 +8136,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1064 + src/loader/Cache.js line 1064 @@ -8294,7 +8294,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1078 + src/loader/Cache.js line 1078 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1050 + src/loader/Cache.js line 1050 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1106 + src/loader/Cache.js line 1106 @@ -8771,7 +8771,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1000 + src/loader/Cache.js line 1000 @@ -8929,7 +8929,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1190 + src/loader/Cache.js line 1190 @@ -9087,7 +9087,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1176 + src/loader/Cache.js line 1176 @@ -9196,7 +9196,7 @@

Source:
- src/loader/Cache.js line 2149 + src/loader/Cache.js line 2149 @@ -9354,7 +9354,7 @@
Parameters:
Source:
- src/loader/Cache.js line 919 + src/loader/Cache.js line 919 @@ -9441,7 +9441,7 @@

Source:
- src/loader/Cache.js line 2201 + src/loader/Cache.js line 2201 @@ -9571,7 +9571,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2233 + src/loader/Cache.js line 2233 @@ -9761,7 +9761,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1652 + src/loader/Cache.js line 1652 @@ -9921,7 +9921,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1484 + src/loader/Cache.js line 1484 @@ -10081,7 +10081,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1502 + src/loader/Cache.js line 1502 @@ -10241,7 +10241,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1520 + src/loader/Cache.js line 1520 @@ -10401,7 +10401,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1273 + src/loader/Cache.js line 1273 @@ -10615,7 +10615,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1669 + src/loader/Cache.js line 1669 @@ -10865,7 +10865,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1768 + src/loader/Cache.js line 1768 @@ -11115,7 +11115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1793 + src/loader/Cache.js line 1793 @@ -11329,7 +11329,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1686 + src/loader/Cache.js line 1686 @@ -11545,7 +11545,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1710 + src/loader/Cache.js line 1710 @@ -11765,7 +11765,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1291 + src/loader/Cache.js line 1291 @@ -12035,7 +12035,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1236 + src/loader/Cache.js line 1236 @@ -12253,7 +12253,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1538 + src/loader/Cache.js line 1538 @@ -12431,7 +12431,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1844 + src/loader/Cache.js line 1844 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1405 + src/loader/Cache.js line 1405 @@ -12844,7 +12844,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1630 + src/loader/Cache.js line 1630 @@ -13004,7 +13004,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1612 + src/loader/Cache.js line 1612 @@ -13164,7 +13164,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1351 + src/loader/Cache.js line 1351 @@ -13324,7 +13324,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1369 + src/loader/Cache.js line 1369 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1387 + src/loader/Cache.js line 1387 @@ -13643,7 +13643,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1335 + src/loader/Cache.js line 1335 @@ -13803,7 +13803,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1466 + src/loader/Cache.js line 1466 @@ -13963,7 +13963,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1818 + src/loader/Cache.js line 1818 @@ -14123,7 +14123,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1594 + src/loader/Cache.js line 1594 @@ -14283,7 +14283,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1576 + src/loader/Cache.js line 1576 @@ -14497,7 +14497,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1731 + src/loader/Cache.js line 1731 @@ -14655,7 +14655,7 @@
Parameters:
Source:
- src/loader/Cache.js line 937 + src/loader/Cache.js line 937 @@ -14814,7 +14814,7 @@
Parameters:
Source:
- src/loader/Cache.js line 956 + src/loader/Cache.js line 956 @@ -14972,7 +14972,7 @@
Parameters:
Source:
- src/loader/Cache.js line 855 + src/loader/Cache.js line 855 @@ -15106,7 +15106,7 @@
Parameters:
Source:
- src/loader/Cache.js line 882 + src/loader/Cache.js line 882 @@ -15242,7 +15242,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1989 + src/loader/Cache.js line 1989 @@ -15378,7 +15378,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2005 + src/loader/Cache.js line 2005 @@ -15514,7 +15514,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2021 + src/loader/Cache.js line 2021 @@ -15650,7 +15650,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1877 + src/loader/Cache.js line 1877 @@ -15843,7 +15843,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1893 + src/loader/Cache.js line 1893 @@ -15979,7 +15979,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2037 + src/loader/Cache.js line 2037 @@ -16115,7 +16115,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1957 + src/loader/Cache.js line 1957 @@ -16251,7 +16251,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2101 + src/loader/Cache.js line 2101 @@ -16387,7 +16387,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2085 + src/loader/Cache.js line 2085 @@ -16526,7 +16526,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1921 + src/loader/Cache.js line 1921 @@ -16662,7 +16662,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2117 + src/loader/Cache.js line 2117 @@ -16798,7 +16798,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1941 + src/loader/Cache.js line 1941 @@ -16934,7 +16934,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2133 + src/loader/Cache.js line 2133 @@ -17070,7 +17070,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1973 + src/loader/Cache.js line 1973 @@ -17206,7 +17206,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2069 + src/loader/Cache.js line 2069 @@ -17342,7 +17342,7 @@
Parameters:
Source:
- src/loader/Cache.js line 2053 + src/loader/Cache.js line 2053 @@ -17568,7 +17568,7 @@
Parameters:
Source:
- src/loader/Cache.js line 1748 + src/loader/Cache.js line 1748 @@ -17702,7 +17702,7 @@
Parameters:
Source:
- src/loader/Cache.js line 901 + src/loader/Cache.js line 901 @@ -17745,9 +17745,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -17762,9 +17762,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -17793,7 +17793,7 @@
Parameters:
- + diff --git a/docs/Phaser.Camera.html b/docs/Phaser.Camera.html index 0c7da0c02..6d092be99 100644 --- a/docs/Phaser.Camera.html +++ b/docs/Phaser.Camera.html @@ -6,7 +6,7 @@ Phaser CE Class: Camera - + @@ -351,7 +351,7 @@
Parameters:
Source:
- src/core/Camera.js line 20 + src/core/Camera.js line 20 @@ -452,7 +452,7 @@
Type:
Source:
- src/core/Camera.js line 246 + src/core/Camera.js line 246 @@ -529,7 +529,7 @@
Type:
Source:
- src/core/Camera.js line 198 + src/core/Camera.js line 198 @@ -606,7 +606,7 @@
Type:
Source:
- src/core/Camera.js line 206 + src/core/Camera.js line 206 @@ -683,7 +683,7 @@
Type:
Source:
- src/core/Camera.js line 214 + src/core/Camera.js line 214 @@ -760,7 +760,7 @@
Type:
Source:
- src/core/Camera.js line 222 + src/core/Camera.js line 222 @@ -833,7 +833,7 @@
Type:
Source:
- src/core/Camera.js line 228 + src/core/Camera.js line 228 @@ -906,7 +906,7 @@
Type:
Source:
- src/core/Camera.js line 234 + src/core/Camera.js line 234 @@ -979,7 +979,7 @@
Type:
Source:
- src/core/Camera.js line 240 + src/core/Camera.js line 240 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/core/Camera.js line 77 + src/core/Camera.js line 77 @@ -1135,7 +1135,7 @@
Type:
Source:
- src/core/Camera.js line 55 + src/core/Camera.js line 55 @@ -1212,7 +1212,7 @@
Type:
Source:
- src/core/Camera.js line 1014 + src/core/Camera.js line 1014 @@ -1289,7 +1289,7 @@
Type:
Source:
- src/core/Camera.js line 1031 + src/core/Camera.js line 1031 @@ -1366,7 +1366,7 @@
Type:
Source:
- src/core/Camera.js line 60 + src/core/Camera.js line 60 @@ -1443,7 +1443,7 @@
Type:
Source:
- src/core/Camera.js line 88 + src/core/Camera.js line 88 @@ -1520,7 +1520,7 @@
Type:
Source:
- src/core/Camera.js line 995 + src/core/Camera.js line 995 @@ -1597,7 +1597,7 @@
Type:
Source:
- src/core/Camera.js line 136 + src/core/Camera.js line 136 @@ -1674,7 +1674,7 @@
Type:
Source:
- src/core/Camera.js line 26 + src/core/Camera.js line 26 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/core/Camera.js line 947 + src/core/Camera.js line 947 @@ -1828,7 +1828,7 @@
Type:
Source:
- src/core/Camera.js line 37 + src/core/Camera.js line 37 @@ -1909,7 +1909,7 @@
Type:
Source:
- src/core/Camera.js line 110 + src/core/Camera.js line 110 @@ -1989,7 +1989,7 @@
Type:
Source:
- src/core/Camera.js line 129 + src/core/Camera.js line 129 @@ -2066,7 +2066,7 @@
Type:
Source:
- src/core/Camera.js line 120 + src/core/Camera.js line 120 @@ -2143,7 +2143,7 @@
Type:
Source:
- src/core/Camera.js line 115 + src/core/Camera.js line 115 @@ -2220,7 +2220,7 @@
Type:
Source:
- src/core/Camera.js line 894 + src/core/Camera.js line 894 @@ -2304,7 +2304,7 @@
Type:
Source:
- src/core/Camera.js line 72 + src/core/Camera.js line 72 @@ -2381,7 +2381,7 @@
Type:
Source:
- src/core/Camera.js line 93 + src/core/Camera.js line 93 @@ -2458,7 +2458,7 @@
Type:
Source:
- src/core/Camera.js line 971 + src/core/Camera.js line 971 @@ -2535,7 +2535,7 @@
Type:
Source:
- src/core/Camera.js line 83 + src/core/Camera.js line 83 @@ -2612,7 +2612,7 @@
Type:
Source:
- src/core/Camera.js line 99 + src/core/Camera.js line 99 @@ -2692,7 +2692,7 @@
Type:
Source:
- src/core/Camera.js line 46 + src/core/Camera.js line 46 @@ -2776,7 +2776,7 @@
Type:
Source:
- src/core/Camera.js line 66 + src/core/Camera.js line 66 @@ -2853,7 +2853,7 @@
Type:
Source:
- src/core/Camera.js line 924 + src/core/Camera.js line 924 @@ -2930,7 +2930,7 @@
Type:
Source:
- src/core/Camera.js line 31 + src/core/Camera.js line 31 @@ -3007,7 +3007,7 @@
Type:
Source:
- src/core/Camera.js line 840 + src/core/Camera.js line 840 @@ -3084,7 +3084,7 @@
Type:
Source:
- src/core/Camera.js line 867 + src/core/Camera.js line 867 @@ -3163,7 +3163,7 @@

Source:
- src/core/Camera.js line 691 + src/core/Camera.js line 691 @@ -3444,7 +3444,7 @@
Parameters:
Source:
- src/core/Camera.js line 467 + src/core/Camera.js line 467 @@ -3745,7 +3745,7 @@
Parameters:
Source:
- src/core/Camera.js line 424 + src/core/Camera.js line 424 @@ -3903,7 +3903,7 @@
Parameters:
Source:
- src/core/Camera.js line 355 + src/core/Camera.js line 355 @@ -4061,7 +4061,7 @@
Parameters:
Source:
- src/core/Camera.js line 367 + src/core/Camera.js line 367 @@ -4339,7 +4339,7 @@
Parameters:
Source:
- src/core/Camera.js line 286 + src/core/Camera.js line 286 @@ -4423,7 +4423,7 @@

Source:
- src/core/Camera.js line 274 + src/core/Camera.js line 274 @@ -4509,7 +4509,7 @@

Source:
- src/core/Camera.js line 794 + src/core/Camera.js line 794 @@ -4594,7 +4594,7 @@

Source:
- src/core/Camera.js line 817 + src/core/Camera.js line 817 @@ -4678,7 +4678,7 @@

Source:
- src/core/Camera.js line 676 + src/core/Camera.js line 676 @@ -4837,7 +4837,7 @@
Parameters:
Source:
- src/core/Camera.js line 758 + src/core/Camera.js line 758 @@ -4995,7 +4995,7 @@
Parameters:
Source:
- src/core/Camera.js line 779 + src/core/Camera.js line 779 @@ -5312,7 +5312,7 @@
Parameters:
Source:
- src/core/Camera.js line 380 + src/core/Camera.js line 380 @@ -5420,7 +5420,7 @@

Source:
- src/core/Camera.js line 343 + src/core/Camera.js line 343 @@ -5504,7 +5504,7 @@

Source:
- src/core/Camera.js line 515 + src/core/Camera.js line 515 @@ -5547,9 +5547,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -5564,9 +5564,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -5595,7 +5595,7 @@

- + diff --git a/docs/Phaser.Canvas.html b/docs/Phaser.Canvas.html index af6165822..c10d85ed7 100644 --- a/docs/Phaser.Canvas.html +++ b/docs/Phaser.Canvas.html @@ -6,7 +6,7 @@ Phaser CE Class: Canvas - + @@ -181,7 +181,7 @@

Source:
- src/utils/Canvas.js line 14 + src/utils/Canvas.js line 14 @@ -429,7 +429,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 113 + src/utils/Canvas.js line 113 @@ -763,7 +763,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 16 + src/utils/Canvas.js line 16 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 251 + src/utils/Canvas.js line 251 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 225 + src/utils/Canvas.js line 225 @@ -1240,7 +1240,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 161 + src/utils/Canvas.js line 161 @@ -1430,7 +1430,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 48 + src/utils/Canvas.js line 48 @@ -1589,7 +1589,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 298 + src/utils/Canvas.js line 298 @@ -1750,7 +1750,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 270 + src/utils/Canvas.js line 270 @@ -1945,7 +1945,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 199 + src/utils/Canvas.js line 199 @@ -2147,7 +2147,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 67 + src/utils/Canvas.js line 67 @@ -2449,7 +2449,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 177 + src/utils/Canvas.js line 177 @@ -2651,7 +2651,7 @@
Parameters:
Source:
- src/utils/Canvas.js line 88 + src/utils/Canvas.js line 88 @@ -2718,9 +2718,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2735,9 +2735,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2766,7 +2766,7 @@
Returns:
- + diff --git a/docs/Phaser.CanvasPool.html b/docs/Phaser.CanvasPool.html index b060b438a..1272c8a28 100644 --- a/docs/Phaser.CanvasPool.html +++ b/docs/Phaser.CanvasPool.html @@ -6,7 +6,7 @@ Phaser CE Class: CanvasPool - + @@ -180,7 +180,7 @@

Source:
- src/utils/CanvasPool.js line 13 + src/utils/CanvasPool.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/utils/CanvasPool.js line 211 + src/utils/CanvasPool.js line 211 @@ -461,7 +461,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 15 + src/utils/CanvasPool.js line 15 @@ -569,7 +569,7 @@

Source:
- src/utils/CanvasPool.js line 59 + src/utils/CanvasPool.js line 59 @@ -673,7 +673,7 @@

Source:
- src/utils/CanvasPool.js line 158 + src/utils/CanvasPool.js line 158 @@ -781,7 +781,7 @@

Source:
- src/utils/CanvasPool.js line 133 + src/utils/CanvasPool.js line 133 @@ -889,7 +889,7 @@

Source:
- src/utils/CanvasPool.js line 184 + src/utils/CanvasPool.js line 184 @@ -1024,7 +1024,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 83 + src/utils/CanvasPool.js line 83 @@ -1159,7 +1159,7 @@
Parameters:
Source:
- src/utils/CanvasPool.js line 108 + src/utils/CanvasPool.js line 108 @@ -1202,9 +1202,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1219,9 +1219,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1250,7 +1250,7 @@
Parameters:
- + diff --git a/docs/Phaser.Circle.html b/docs/Phaser.Circle.html index 7439a1217..d4170d2e6 100644 --- a/docs/Phaser.Circle.html +++ b/docs/Phaser.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -331,7 +331,7 @@
Parameters:
Source:
- src/geom/Circle.js line 17 + src/geom/Circle.js line 17 @@ -436,7 +436,7 @@
Type:
Source:
- src/geom/Circle.js line 478 + src/geom/Circle.js line 478 @@ -513,7 +513,7 @@
Type:
Source:
- src/geom/Circle.js line 449 + src/geom/Circle.js line 449 @@ -590,7 +590,7 @@
Type:
Source:
- src/geom/Circle.js line 312 + src/geom/Circle.js line 312 @@ -668,7 +668,7 @@
Type:
Source:
- src/geom/Circle.js line 502 + src/geom/Circle.js line 502 @@ -734,7 +734,7 @@

Source:
- src/geom/Circle.js line 362 + src/geom/Circle.js line 362 @@ -811,7 +811,7 @@
Type:
Source:
- src/geom/Circle.js line 337 + src/geom/Circle.js line 337 @@ -888,7 +888,7 @@
Type:
Source:
- src/geom/Circle.js line 391 + src/geom/Circle.js line 391 @@ -965,7 +965,7 @@
Type:
Source:
- src/geom/Circle.js line 420 + src/geom/Circle.js line 420 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/geom/Circle.js line 55 + src/geom/Circle.js line 55 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/geom/Circle.js line 27 + src/geom/Circle.js line 27 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/geom/Circle.js line 32 + src/geom/Circle.js line 32 @@ -1454,7 +1454,7 @@
Parameters:
Source:
- src/geom/Circle.js line 582 + src/geom/Circle.js line 582 @@ -1660,7 +1660,7 @@
Parameters:
Source:
- src/geom/Circle.js line 527 + src/geom/Circle.js line 527 @@ -1842,7 +1842,7 @@
Parameters:
Source:
- src/geom/Circle.js line 553 + src/geom/Circle.js line 553 @@ -2025,7 +2025,7 @@
Parameters:
Source:
- src/geom/Circle.js line 567 + src/geom/Circle.js line 567 @@ -2259,7 +2259,7 @@
Parameters:
Source:
- src/geom/Circle.js line 650 + src/geom/Circle.js line 650 @@ -2441,7 +2441,7 @@
Parameters:
Source:
- src/geom/Circle.js line 609 + src/geom/Circle.js line 609 @@ -2549,7 +2549,7 @@

Source:
- src/geom/Circle.js line 61 + src/geom/Circle.js line 61 @@ -2801,7 +2801,7 @@
Parameters:
Source:
- src/geom/Circle.js line 215 + src/geom/Circle.js line 215 @@ -2971,7 +2971,7 @@
Parameters:
Source:
- src/geom/Circle.js line 179 + src/geom/Circle.js line 179 @@ -3153,7 +3153,7 @@
Parameters:
Source:
- src/geom/Circle.js line 201 + src/geom/Circle.js line 201 @@ -3311,7 +3311,7 @@
Parameters:
Source:
- src/geom/Circle.js line 133 + src/geom/Circle.js line 133 @@ -3469,7 +3469,7 @@
Parameters:
Source:
- src/geom/Circle.js line 146 + src/geom/Circle.js line 146 @@ -3684,7 +3684,7 @@
Parameters:
Source:
- src/geom/Circle.js line 163 + src/geom/Circle.js line 163 @@ -3792,7 +3792,7 @@

Source:
- src/geom/Circle.js line 100 + src/geom/Circle.js line 100 @@ -3974,7 +3974,7 @@
Parameters:
Source:
- src/geom/Circle.js line 270 + src/geom/Circle.js line 270 @@ -4132,7 +4132,7 @@
Parameters:
Source:
- src/geom/Circle.js line 287 + src/geom/Circle.js line 287 @@ -4263,7 +4263,7 @@
Parameters:

A Phaser.Point, or any object with public x/y properties, that the values will be set in. - If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

+If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

@@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/geom/Circle.js line 74 + src/geom/Circle.js line 74 @@ -4644,7 +4644,7 @@
Parameters:
Source:
- src/geom/Circle.js line 245 + src/geom/Circle.js line 245 @@ -4852,7 +4852,7 @@
Parameters:
Source:
- src/geom/Circle.js line 113 + src/geom/Circle.js line 113 @@ -4960,7 +4960,7 @@

Source:
- src/geom/Circle.js line 298 + src/geom/Circle.js line 298 @@ -5027,9 +5027,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -5044,9 +5044,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -5075,7 +5075,7 @@
Returns:
- + diff --git a/docs/Phaser.Color.html b/docs/Phaser.Color.html index 7df598d7a..63e4c1665 100644 --- a/docs/Phaser.Color.html +++ b/docs/Phaser.Color.html @@ -6,7 +6,7 @@ Phaser CE Class: Color - + @@ -180,7 +180,7 @@

Source:
- src/utils/Color.js line 12 + src/utils/Color.js line 12 @@ -292,7 +292,7 @@
Type:
Source:
- src/utils/Color.js line 57 + src/utils/Color.js line 57 @@ -369,7 +369,7 @@
Type:
Source:
- src/utils/Color.js line 93 + src/utils/Color.js line 93 @@ -453,7 +453,7 @@
Type:
Source:
- src/utils/Color.js line 66 + src/utils/Color.js line 66 @@ -537,7 +537,7 @@
Type:
Source:
- src/utils/Color.js line 102 + src/utils/Color.js line 102 @@ -621,7 +621,7 @@
Type:
Source:
- src/utils/Color.js line 48 + src/utils/Color.js line 48 @@ -705,7 +705,7 @@
Type:
Source:
- src/utils/Color.js line 30 + src/utils/Color.js line 30 @@ -789,7 +789,7 @@
Type:
Source:
- src/utils/Color.js line 21 + src/utils/Color.js line 21 @@ -873,7 +873,7 @@
Type:
Source:
- src/utils/Color.js line 75 + src/utils/Color.js line 75 @@ -957,7 +957,7 @@
Type:
Source:
- src/utils/Color.js line 84 + src/utils/Color.js line 84 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/utils/Color.js line 39 + src/utils/Color.js line 39 @@ -1193,7 +1193,7 @@
Parameters:
Source:
- src/utils/Color.js line 1307 + src/utils/Color.js line 1307 @@ -1375,7 +1375,7 @@
Parameters:
Source:
- src/utils/Color.js line 1293 + src/utils/Color.js line 1293 @@ -1558,7 +1558,7 @@
Parameters:
Source:
- src/utils/Color.js line 1476 + src/utils/Color.js line 1476 @@ -1741,7 +1741,7 @@
Parameters:
Source:
- src/utils/Color.js line 1461 + src/utils/Color.js line 1461 @@ -1923,7 +1923,7 @@
Parameters:
Source:
- src/utils/Color.js line 1262 + src/utils/Color.js line 1262 @@ -2106,7 +2106,7 @@
Parameters:
Source:
- src/utils/Color.js line 1335 + src/utils/Color.js line 1335 @@ -2289,7 +2289,7 @@
Parameters:
Source:
- src/utils/Color.js line 1381 + src/utils/Color.js line 1381 @@ -2471,7 +2471,7 @@
Parameters:
Source:
- src/utils/Color.js line 1598 + src/utils/Color.js line 1598 @@ -2660,7 +2660,7 @@
Parameters:
Source:
- src/utils/Color.js line 1436 + src/utils/Color.js line 1436 @@ -2845,7 +2845,7 @@
Parameters:
Source:
- src/utils/Color.js line 1567 + src/utils/Color.js line 1567 @@ -3027,7 +3027,7 @@
Parameters:
Source:
- src/utils/Color.js line 1248 + src/utils/Color.js line 1248 @@ -3209,7 +3209,7 @@
Parameters:
Source:
- src/utils/Color.js line 1505 + src/utils/Color.js line 1505 @@ -3391,7 +3391,7 @@
Parameters:
Source:
- src/utils/Color.js line 1491 + src/utils/Color.js line 1491 @@ -3575,7 +3575,7 @@
Parameters:
Source:
- src/utils/Color.js line 1519 + src/utils/Color.js line 1519 @@ -3760,7 +3760,7 @@
Parameters:
Source:
- src/utils/Color.js line 1276 + src/utils/Color.js line 1276 @@ -3942,7 +3942,7 @@
Parameters:
Source:
- src/utils/Color.js line 1351 + src/utils/Color.js line 1351 @@ -4124,7 +4124,7 @@
Parameters:
Source:
- src/utils/Color.js line 1234 + src/utils/Color.js line 1234 @@ -4308,7 +4308,7 @@
Parameters:
Source:
- src/utils/Color.js line 1396 + src/utils/Color.js line 1396 @@ -4490,7 +4490,7 @@
Parameters:
Source:
- src/utils/Color.js line 1612 + src/utils/Color.js line 1612 @@ -4673,7 +4673,7 @@
Parameters:
Source:
- src/utils/Color.js line 1552 + src/utils/Color.js line 1552 @@ -4855,7 +4855,7 @@
Parameters:
Source:
- src/utils/Color.js line 1584 + src/utils/Color.js line 1584 @@ -5039,7 +5039,7 @@
Parameters:
Source:
- src/utils/Color.js line 1365 + src/utils/Color.js line 1365 @@ -5228,7 +5228,7 @@
Parameters:
Source:
- src/utils/Color.js line 1412 + src/utils/Color.js line 1412 @@ -5410,7 +5410,7 @@
Parameters:
Source:
- src/utils/Color.js line 1321 + src/utils/Color.js line 1321 @@ -5595,7 +5595,7 @@
Parameters:
Source:
- src/utils/Color.js line 1535 + src/utils/Color.js line 1535 @@ -5753,7 +5753,7 @@
Parameters:
Source:
- src/utils/Color.js line 838 + src/utils/Color.js line 838 @@ -6220,7 +6220,7 @@
Parameters:
Source:
- src/utils/Color.js line 572 + src/utils/Color.js line 572 @@ -6430,7 +6430,7 @@
Parameters:
Source:
- src/utils/Color.js line 189 + src/utils/Color.js line 189 @@ -6588,7 +6588,7 @@
Parameters:
Source:
- src/utils/Color.js line 1169 + src/utils/Color.js line 1169 @@ -6746,7 +6746,7 @@
Parameters:
Source:
- src/utils/Color.js line 1182 + src/utils/Color.js line 1182 @@ -6904,7 +6904,7 @@
Parameters:
Source:
- src/utils/Color.js line 1221 + src/utils/Color.js line 1221 @@ -7110,7 +7110,7 @@
Parameters:
Source:
- src/utils/Color.js line 637 + src/utils/Color.js line 637 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/utils/Color.js line 619 + src/utils/Color.js line 619 @@ -7498,7 +7498,7 @@
Parameters:
Source:
- src/utils/Color.js line 1208 + src/utils/Color.js line 1208 @@ -7758,7 +7758,7 @@
Parameters:
Source:
- src/utils/Color.js line 1070 + src/utils/Color.js line 1070 @@ -7916,7 +7916,7 @@
Parameters:
Source:
- src/utils/Color.js line 1195 + src/utils/Color.js line 1195 @@ -8075,7 +8075,7 @@
Parameters:
Source:
- src/utils/Color.js line 1103 + src/utils/Color.js line 1103 @@ -8236,7 +8236,7 @@
Parameters:
Source:
- src/utils/Color.js line 1146 + src/utils/Color.js line 1146 @@ -8440,7 +8440,7 @@
Parameters:
Source:
- src/utils/Color.js line 704 + src/utils/Color.js line 704 @@ -8598,7 +8598,7 @@
Parameters:
Source:
- src/utils/Color.js line 684 + src/utils/Color.js line 684 @@ -8756,7 +8756,7 @@
Parameters:
Source:
- src/utils/Color.js line 256 + src/utils/Color.js line 256 @@ -8974,7 +8974,7 @@
Parameters:
Source:
- src/utils/Color.js line 881 + src/utils/Color.js line 881 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/utils/Color.js line 350 + src/utils/Color.js line 350 @@ -9461,7 +9461,7 @@
Parameters:
Source:
- src/utils/Color.js line 855 + src/utils/Color.js line 855 @@ -9730,7 +9730,7 @@
Parameters:
Source:
- src/utils/Color.js line 459 + src/utils/Color.js line 459 @@ -9937,7 +9937,7 @@
Parameters:
Source:
- src/utils/Color.js line 529 + src/utils/Color.js line 529 @@ -10297,7 +10297,7 @@
Parameters:
Source:
- src/utils/Color.js line 907 + src/utils/Color.js line 907 @@ -10575,7 +10575,7 @@
Parameters:
Source:
- src/utils/Color.js line 976 + src/utils/Color.js line 976 @@ -10901,7 +10901,7 @@
Parameters:
Source:
- src/utils/Color.js line 1001 + src/utils/Color.js line 1001 @@ -11109,7 +11109,7 @@
Parameters:
Source:
- src/utils/Color.js line 1027 + src/utils/Color.js line 1027 @@ -11293,7 +11293,7 @@
Parameters:
Source:
- src/utils/Color.js line 1047 + src/utils/Color.js line 1047 @@ -11531,7 +11531,7 @@
Parameters:
Source:
- src/utils/Color.js line 104 + src/utils/Color.js line 104 @@ -11689,7 +11689,7 @@
Parameters:
Source:
- src/utils/Color.js line 275 + src/utils/Color.js line 275 @@ -11958,7 +11958,7 @@
Parameters:
Source:
- src/utils/Color.js line 290 + src/utils/Color.js line 290 @@ -12227,7 +12227,7 @@
Parameters:
Source:
- src/utils/Color.js line 402 + src/utils/Color.js line 402 @@ -12554,7 +12554,7 @@
Parameters:
Source:
- src/utils/Color.js line 654 + src/utils/Color.js line 654 @@ -12784,7 +12784,7 @@
Parameters:
Source:
- src/utils/Color.js line 238 + src/utils/Color.js line 238 @@ -13021,7 +13021,7 @@
Parameters:
Source:
- src/utils/Color.js line 219 + src/utils/Color.js line 219 @@ -13326,7 +13326,7 @@
Parameters:
Source:
- src/utils/Color.js line 131 + src/utils/Color.js line 131 @@ -13484,7 +13484,7 @@
Parameters:
Source:
- src/utils/Color.js line 600 + src/utils/Color.js line 600 @@ -13691,7 +13691,7 @@
Parameters:
Source:
- src/utils/Color.js line 784 + src/utils/Color.js line 784 @@ -13894,7 +13894,7 @@
Parameters:
Source:
- src/utils/Color.js line 750 + src/utils/Color.js line 750 @@ -13961,9 +13961,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -13978,9 +13978,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -14009,7 +14009,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Angle.html b/docs/Phaser.Component.Angle.html index f230bbc70..9a238ba65 100644 --- a/docs/Phaser.Component.Angle.html +++ b/docs/Phaser.Component.Angle.html @@ -6,7 +6,7 @@ Phaser CE Class: Angle - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Angle.js line 12 + src/gameobjects/components/Angle.js line 12 @@ -236,9 +236,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -290,7 +290,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -323,9 +323,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -340,9 +340,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -371,7 +371,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Animation.html b/docs/Phaser.Component.Animation.html index 3984e0eb3..50963e226 100644 --- a/docs/Phaser.Component.Animation.html +++ b/docs/Phaser.Component.Animation.html @@ -6,7 +6,7 @@ Phaser CE Class: Animation - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Animation.js line 12 + src/gameobjects/components/Animation.js line 12 @@ -471,7 +471,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -538,9 +538,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -555,9 +555,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -586,7 +586,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.AutoCull.html b/docs/Phaser.Component.AutoCull.html index 03be7d5a5..2cc7bb1b5 100644 --- a/docs/Phaser.Component.AutoCull.html +++ b/docs/Phaser.Component.AutoCull.html @@ -6,7 +6,7 @@ Phaser CE Class: AutoCull - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/AutoCull.js line 13 + src/gameobjects/components/AutoCull.js line 13 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -368,7 +368,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -401,9 +401,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -418,9 +418,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -449,7 +449,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Bounds.html b/docs/Phaser.Component.Bounds.html index 9eee7fd73..19b1b4626 100644 --- a/docs/Phaser.Component.Bounds.html +++ b/docs/Phaser.Component.Bounds.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounds - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Bounds.js line 12 + src/gameobjects/components/Bounds.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -442,7 +442,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -599,7 +599,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -678,7 +678,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -756,7 +756,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -834,7 +834,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -1138,7 +1138,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -1473,7 +1473,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -1540,9 +1540,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1557,9 +1557,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1588,7 +1588,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.BringToTop.html b/docs/Phaser.Component.BringToTop.html index a10838c09..4590cc5d4 100644 --- a/docs/Phaser.Component.BringToTop.html +++ b/docs/Phaser.Component.BringToTop.html @@ -6,7 +6,7 @@ Phaser CE Class: BringToTop - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 12 + src/gameobjects/components/BringToTop.js line 12 @@ -285,7 +285,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -350,7 +350,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -396,7 +396,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -507,7 +507,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -618,7 +618,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -685,9 +685,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -702,9 +702,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -733,7 +733,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.Core.html b/docs/Phaser.Component.Core.html index e9375a93d..8d62c2efa 100644 --- a/docs/Phaser.Component.Core.html +++ b/docs/Phaser.Component.Core.html @@ -6,7 +6,7 @@ Phaser CE Class: Core - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Core.js line 12 + src/gameobjects/components/Core.js line 12 @@ -224,83 +224,6 @@

Members

-
-

- <static> skipTypeChecks : boolean - -

- -
-
- -
-

Skip type checks in init.

-
- - - -
Type:
-
    -
  • - -boolean - - - -
  • -
- - - -
- - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Source:
-
- - src/gameobjects/components/Core.js line 19 - - - - - - - -
- - - -
- - -

animations : Phaser.AnimationManager @@ -363,7 +286,7 @@

Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -447,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -534,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -611,7 +534,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -689,7 +612,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -778,7 +701,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 309 + src/gameobjects/components/Core.js line 282 @@ -856,7 +779,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -933,7 +856,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -1026,7 +949,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -1104,7 +1027,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -1184,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -1261,7 +1184,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -1338,7 +1261,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -1416,7 +1339,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -1495,7 +1418,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -1575,7 +1498,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -1654,7 +1577,7 @@

Source:
- src/gameobjects/components/Core.js line 62 + src/gameobjects/components/Core.js line 55 @@ -1739,7 +1662,7 @@

Source:
- src/gameobjects/components/Core.js line 29 + src/gameobjects/components/Core.js line 22 @@ -1823,7 +1746,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -1907,7 +1830,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -1993,7 +1916,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -2036,9 +1959,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2053,9 +1976,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2084,7 +2007,7 @@

- + diff --git a/docs/Phaser.Component.Crop.html b/docs/Phaser.Component.Crop.html index b3c92869f..7577ec215 100644 --- a/docs/Phaser.Component.Crop.html +++ b/docs/Phaser.Component.Crop.html @@ -6,7 +6,7 @@ Phaser CE Class: Crop - + @@ -135,7 +135,7 @@

-

The Crop component provides the ability to crop a texture based Game Object to a defined rectangle, +

The Crop component provides the ability to crop a texture based Game Object to a defined rectangle, which can be updated in real-time.

@@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/Crop.js line 13 + src/gameobjects/components/Crop.js line 13 @@ -236,7 +236,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -288,7 +288,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -325,9 +325,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -479,7 +479,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -564,7 +564,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -607,9 +607,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -624,9 +624,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -655,7 +655,7 @@

- + diff --git a/docs/Phaser.Component.Delta.html b/docs/Phaser.Component.Delta.html index 84fe24a3c..7bac680da 100644 --- a/docs/Phaser.Component.Delta.html +++ b/docs/Phaser.Component.Delta.html @@ -6,7 +6,7 @@ Phaser CE Class: Delta - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Delta.js line 12 + src/gameobjects/components/Delta.js line 12 @@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -364,7 +364,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 43 + src/gameobjects/components/Delta.js line 43 @@ -441,7 +441,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 60 + src/gameobjects/components/Delta.js line 60 @@ -474,9 +474,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -491,9 +491,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -522,7 +522,7 @@
Type:
- + diff --git a/docs/Phaser.Component.Destroy.html b/docs/Phaser.Component.Destroy.html index d3842e8cb..12362c3db 100644 --- a/docs/Phaser.Component.Destroy.html +++ b/docs/Phaser.Component.Destroy.html @@ -6,7 +6,7 @@ Phaser CE Class: Destroy - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Destroy.js line 12 + src/gameobjects/components/Destroy.js line 12 @@ -234,7 +234,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -286,7 +286,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -478,7 +478,7 @@
Parameters:
Source:
- src/gameobjects/components/Destroy.js line 37 + src/gameobjects/components/Destroy.js line 37 @@ -521,9 +521,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -538,9 +538,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -569,7 +569,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.FixedToCamera.html b/docs/Phaser.Component.FixedToCamera.html index 98ca168ff..b11ac80cf 100644 --- a/docs/Phaser.Component.FixedToCamera.html +++ b/docs/Phaser.Component.FixedToCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: FixedToCamera - + @@ -135,7 +135,7 @@

-

The FixedToCamera component enables a Game Object to be rendered relative to the game camera coordinates, regardless +

The FixedToCamera component enables a Game Object to be rendered relative to the game camera coordinates, regardless of where in the world the camera is. This is used for things like sticking game UI to the camera that scrolls as it moves around the world.

@@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 13 + src/gameobjects/components/FixedToCamera.js line 13 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -313,11 +313,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -371,7 +371,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -450,7 +450,7 @@

Source:
- src/gameobjects/components/FixedToCamera.js line 21 + src/gameobjects/components/FixedToCamera.js line 21 @@ -493,9 +493,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -510,9 +510,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -541,7 +541,7 @@

- + diff --git a/docs/Phaser.Component.Health.html b/docs/Phaser.Component.Health.html index 5cb769504..b65dd3c5f 100644 --- a/docs/Phaser.Component.Health.html +++ b/docs/Phaser.Component.Health.html @@ -6,7 +6,7 @@ Phaser CE Class: Health - + @@ -135,7 +135,7 @@

-

The Health component provides the ability for Game Objects to have a health property +

The Health component provides the ability for Game Objects to have a health property that can be damaged and reset through game code. Requires the LifeSpan component.

@@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/Health.js line 14 + src/gameobjects/components/Health.js line 14 @@ -295,7 +295,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -509,7 +509,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -667,7 +667,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 92 + src/gameobjects/components/Health.js line 92 @@ -826,7 +826,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 71 + src/gameobjects/components/Health.js line 71 @@ -893,9 +893,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -910,9 +910,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -941,7 +941,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.InCamera.html b/docs/Phaser.Component.InCamera.html index 1ac875c12..0ce93a3cf 100644 --- a/docs/Phaser.Component.InCamera.html +++ b/docs/Phaser.Component.InCamera.html @@ -6,7 +6,7 @@ Phaser CE Class: InCamera - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InCamera.js line 12 + src/gameobjects/components/InCamera.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/InCamera.js line 26 + src/gameobjects/components/InCamera.js line 26 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -337,9 +337,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Component.InWorld.html b/docs/Phaser.Component.InWorld.html index b359f8542..34522369b 100644 --- a/docs/Phaser.Component.InWorld.html +++ b/docs/Phaser.Component.InWorld.html @@ -6,7 +6,7 @@ Phaser CE Class: InWorld - + @@ -182,7 +182,7 @@

Source:
- src/gameobjects/components/InWorld.js line 14 + src/gameobjects/components/InWorld.js line 14 @@ -236,7 +236,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -293,7 +293,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -370,7 +370,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -447,7 +447,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -525,7 +525,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -604,7 +604,7 @@

Source:
- src/gameobjects/components/InWorld.js line 22 + src/gameobjects/components/InWorld.js line 22 @@ -647,9 +647,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -664,9 +664,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -695,7 +695,7 @@

- + diff --git a/docs/Phaser.Component.InputEnabled.html b/docs/Phaser.Component.InputEnabled.html index 7c466bd77..0bea683e6 100644 --- a/docs/Phaser.Component.InputEnabled.html +++ b/docs/Phaser.Component.InputEnabled.html @@ -6,7 +6,7 @@ Phaser CE Class: InputEnabled - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/InputEnabled.js line 12 + src/gameobjects/components/InputEnabled.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -374,7 +374,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -407,9 +407,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -424,9 +424,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -455,7 +455,7 @@
Type:
- + diff --git a/docs/Phaser.Component.LifeSpan.html b/docs/Phaser.Component.LifeSpan.html index d68093147..d86cf023e 100644 --- a/docs/Phaser.Component.LifeSpan.html +++ b/docs/Phaser.Component.LifeSpan.html @@ -6,7 +6,7 @@ Phaser CE Class: LifeSpan - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 12 + src/gameobjects/components/LifeSpan.js line 12 @@ -296,7 +296,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -377,7 +377,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -456,7 +456,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 20 + src/gameobjects/components/LifeSpan.js line 20 @@ -544,7 +544,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -724,7 +724,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -791,9 +791,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -808,9 +808,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -839,7 +839,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.LoadTexture.html b/docs/Phaser.Component.LoadTexture.html index fdd3e8efb..16b6c939c 100644 --- a/docs/Phaser.Component.LoadTexture.html +++ b/docs/Phaser.Component.LoadTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: LoadTexture - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 12 + src/gameobjects/components/LoadTexture.js line 12 @@ -290,7 +290,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -317,7 +317,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -372,7 +372,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -409,10 +409,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -618,7 +618,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -702,7 +702,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -1021,7 +1021,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -1064,9 +1064,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1081,9 +1081,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1112,7 +1112,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Overlap.html b/docs/Phaser.Component.Overlap.html index 8a7517fb9..7c90dbd2f 100644 --- a/docs/Phaser.Component.Overlap.html +++ b/docs/Phaser.Component.Overlap.html @@ -6,7 +6,7 @@ Phaser CE Class: Overlap - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Overlap.js line 12 + src/gameobjects/components/Overlap.js line 12 @@ -237,7 +237,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -348,7 +348,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -415,9 +415,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -432,9 +432,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -463,7 +463,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.PhysicsBody.html b/docs/Phaser.Component.PhysicsBody.html index bb370bed4..2c25bee39 100644 --- a/docs/Phaser.Component.PhysicsBody.html +++ b/docs/Phaser.Component.PhysicsBody.html @@ -6,7 +6,7 @@ Phaser CE Class: PhysicsBody - + @@ -181,7 +181,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 13 + src/gameobjects/components/PhysicsBody.js line 13 @@ -235,13 +235,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -303,7 +303,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -380,7 +380,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 108 + src/gameobjects/components/PhysicsBody.js line 108 @@ -457,7 +457,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 136 + src/gameobjects/components/PhysicsBody.js line 136 @@ -536,7 +536,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 70 + src/gameobjects/components/PhysicsBody.js line 70 @@ -621,7 +621,7 @@

Source:
- src/gameobjects/components/PhysicsBody.js line 21 + src/gameobjects/components/PhysicsBody.js line 21 @@ -664,9 +664,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -681,9 +681,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -712,7 +712,7 @@

- + diff --git a/docs/Phaser.Component.Reset.html b/docs/Phaser.Component.Reset.html index d46814b3e..95b33dd1d 100644 --- a/docs/Phaser.Component.Reset.html +++ b/docs/Phaser.Component.Reset.html @@ -6,7 +6,7 @@ Phaser CE Class: Reset - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Reset.js line 12 + src/gameobjects/components/Reset.js line 12 @@ -238,7 +238,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -428,7 +428,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -495,9 +495,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -512,9 +512,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -543,7 +543,7 @@
Returns:
- + diff --git a/docs/Phaser.Component.ScaleMinMax.html b/docs/Phaser.Component.ScaleMinMax.html index 222768212..1d23e17ef 100644 --- a/docs/Phaser.Component.ScaleMinMax.html +++ b/docs/Phaser.Component.ScaleMinMax.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleMinMax - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/ScaleMinMax.js line 12 + src/gameobjects/components/ScaleMinMax.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -366,7 +366,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -443,7 +443,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -520,7 +520,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -742,7 +742,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -785,9 +785,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -802,9 +802,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -833,7 +833,7 @@
Parameters:
- + diff --git a/docs/Phaser.Component.Smoothed.html b/docs/Phaser.Component.Smoothed.html index c627ba837..bbf4abe11 100644 --- a/docs/Phaser.Component.Smoothed.html +++ b/docs/Phaser.Component.Smoothed.html @@ -6,7 +6,7 @@ Phaser CE Class: Smoothed - + @@ -180,7 +180,7 @@

Source:
- src/gameobjects/components/Smoothed.js line 12 + src/gameobjects/components/Smoothed.js line 12 @@ -287,7 +287,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -320,9 +320,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -337,9 +337,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -368,7 +368,7 @@
Type:
- + diff --git a/docs/Phaser.Create.html b/docs/Phaser.Create.html index ff05673ca..ba4a84d82 100644 --- a/docs/Phaser.Create.html +++ b/docs/Phaser.Create.html @@ -6,7 +6,7 @@ Phaser CE Class: Create - + @@ -233,7 +233,7 @@
Parameters:
Source:
- src/core/Create.js line 18 + src/core/Create.js line 18 @@ -338,7 +338,7 @@
Type:
Source:
- src/core/Create.js line 59 + src/core/Create.js line 59 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Create.js line 80 + src/core/Create.js line 80 @@ -492,7 +492,7 @@
Type:
Source:
- src/core/Create.js line 73 + src/core/Create.js line 73 @@ -569,7 +569,7 @@
Type:
Source:
- src/core/Create.js line 87 + src/core/Create.js line 87 @@ -646,7 +646,7 @@
Type:
Source:
- src/core/Create.js line 66 + src/core/Create.js line 66 @@ -723,7 +723,7 @@
Type:
Source:
- src/core/Create.js line 29 + src/core/Create.js line 29 @@ -800,7 +800,7 @@
Type:
Source:
- src/core/Create.js line 34 + src/core/Create.js line 34 @@ -915,7 +915,7 @@
Properties:
Source:
- src/core/Create.js line 39 + src/core/Create.js line 39 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/Create.js line 24 + src/core/Create.js line 24 @@ -1069,7 +1069,7 @@
Type:
Source:
- src/core/Create.js line 44 + src/core/Create.js line 44 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/core/Create.js line 234 + src/core/Create.js line 234 @@ -1924,7 +1924,7 @@
Parameters:
Source:
- src/core/Create.js line 172 + src/core/Create.js line 172 @@ -1995,13 +1995,7 @@

rather than Phaser.Graphics objects, which are expensive to render and limited in scope.

Each element of the array is a string holding the pixel color values, as mapped to one of the Phaser.Create PALETTE consts.

For example:

-

var data = [ - ' 333 ', - ' 777 ', - 'E333E', - ' 333 ', - ' 3 3 ' -];

+

var data = [ ' 333 ', ' 777 ', 'E333E', ' 333 ', ' 3 3 ' ];

game.create.texture('bob', data);

The above will create a new texture called bob, which will look like a little man wearing a hat. You can then use it for sprites the same way you use any other texture: game.add.sprite(0, 0, 'bob');

@@ -2388,7 +2382,7 @@

Parameters:
Source:
- src/core/Create.js line 91 + src/core/Create.js line 91 @@ -2458,9 +2452,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2475,9 +2469,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2506,7 +2500,7 @@
Returns:
- + diff --git a/docs/Phaser.Creature.html b/docs/Phaser.Creature.html index fc2854d68..672c45200 100644 --- a/docs/Phaser.Creature.html +++ b/docs/Phaser.Creature.html @@ -6,7 +6,7 @@ Phaser CE Class: Creature - + @@ -480,7 +480,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 181 + src/gameobjects/Creature.js line 181 @@ -634,7 +634,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -716,7 +716,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 894 + src/gameobjects/Creature.js line 894 @@ -793,7 +793,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 767 + src/gameobjects/Creature.js line 767 @@ -870,7 +870,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 820 + src/gameobjects/Creature.js line 820 @@ -898,9 +898,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -961,7 +961,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -1038,7 +1038,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 215 + src/gameobjects/Creature.js line 215 @@ -1125,7 +1125,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1315,7 +1315,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1402,7 +1402,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 288 + src/gameobjects/Creature.js line 288 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1728,7 +1728,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 257 + src/gameobjects/Creature.js line 257 @@ -1805,7 +1805,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 251 + src/gameobjects/Creature.js line 251 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2013,7 +2013,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2074,7 +2074,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2161,7 +2161,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2259,7 +2259,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 309 + src/gameobjects/components/Core.js line 282 @@ -2345,7 +2345,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2436,7 +2436,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2462,11 +2462,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2529,7 +2529,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -2616,7 +2616,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -2698,7 +2698,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 187 + src/gameobjects/Creature.js line 187 @@ -2780,7 +2780,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 710 + src/gameobjects/Creature.js line 710 @@ -2876,7 +2876,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -2964,7 +2964,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3051,7 +3051,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3124,7 +3124,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 277 + src/gameobjects/Creature.js line 277 @@ -3215,7 +3215,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3308,7 +3308,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3385,7 +3385,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 666 + src/gameobjects/Creature.js line 666 @@ -3487,7 +3487,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -3577,7 +3577,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -3654,7 +3654,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 688 + src/gameobjects/Creature.js line 688 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 220 + src/gameobjects/Creature.js line 220 @@ -3820,7 +3820,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -3907,7 +3907,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -3996,7 +3996,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4085,7 +4085,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -4172,7 +4172,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4260,7 +4260,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -4346,7 +4346,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -4432,7 +4432,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -4519,7 +4519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -4606,7 +4606,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -4695,7 +4695,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -4784,7 +4784,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -4861,7 +4861,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 240 + src/gameobjects/Creature.js line 240 @@ -4945,7 +4945,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 226 + src/gameobjects/Creature.js line 226 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 873 + src/gameobjects/Creature.js line 873 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 196 + src/gameobjects/Creature.js line 196 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 271 + src/gameobjects/Creature.js line 271 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 265 + src/gameobjects/Creature.js line 265 @@ -5352,7 +5352,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/gameobjects/Creature.js line 738 + src/gameobjects/Creature.js line 738 @@ -5522,7 +5522,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -5614,7 +5614,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -5705,7 +5705,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -5796,7 +5796,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -5887,7 +5887,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -5978,7 +5978,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -6064,7 +6064,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -6151,7 +6151,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6238,7 +6238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -6327,7 +6327,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -6464,7 +6464,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -6655,7 +6655,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -6775,7 +6775,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -6942,7 +6942,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -7042,7 +7042,7 @@

Source:
- src/gameobjects/Creature.js line 927 + src/gameobjects/Creature.js line 927 @@ -7142,7 +7142,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -7222,7 +7222,7 @@

Source:
- src/gameobjects/Creature.js line 995 + src/gameobjects/Creature.js line 995 @@ -7302,7 +7302,7 @@

Source:
- src/gameobjects/Creature.js line 966 + src/gameobjects/Creature.js line 966 @@ -7547,7 +7547,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -7731,7 +7731,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -7898,7 +7898,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -8065,7 +8065,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -8182,7 +8182,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -8303,7 +8303,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -8368,7 +8368,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -8423,7 +8423,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -8543,7 +8543,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -8721,7 +8721,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 634 + src/gameobjects/Creature.js line 634 @@ -8814,7 +8814,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -8903,7 +8903,7 @@

Source:
- src/gameobjects/Creature.js line 333 + src/gameobjects/Creature.js line 333 @@ -8996,7 +8996,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -9076,7 +9076,7 @@

Source:
- src/gameobjects/Creature.js line 1037 + src/gameobjects/Creature.js line 1037 @@ -9219,7 +9219,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -9386,7 +9386,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -9577,7 +9577,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -9617,7 +9617,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -9816,7 +9816,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -10005,7 +10005,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -10125,7 +10125,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -10229,7 +10229,7 @@

Source:
- src/gameobjects/Creature.js line 1024 + src/gameobjects/Creature.js line 1024 @@ -10313,7 +10313,7 @@

Source:
- src/gameobjects/Creature.js line 915 + src/gameobjects/Creature.js line 915 @@ -10447,7 +10447,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 600 + src/gameobjects/Creature.js line 600 @@ -10581,7 +10581,7 @@
Parameters:
Source:
- src/gameobjects/Creature.js line 617 + src/gameobjects/Creature.js line 617 @@ -10748,7 +10748,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -10828,7 +10828,7 @@

Source:
- src/gameobjects/Creature.js line 945 + src/gameobjects/Creature.js line 945 @@ -10912,7 +10912,7 @@

Source:
- src/gameobjects/Creature.js line 653 + src/gameobjects/Creature.js line 653 @@ -11079,7 +11079,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -11222,7 +11222,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -11435,7 +11435,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -11556,7 +11556,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -11649,7 +11649,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -11838,7 +11838,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -11907,9 +11907,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -11924,9 +11924,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -11955,7 +11955,7 @@
Returns:

- + diff --git a/docs/Phaser.DOM.html b/docs/Phaser.DOM.html index 6b4ccaf52..c4e63f7f1 100644 --- a/docs/Phaser.DOM.html +++ b/docs/Phaser.DOM.html @@ -6,7 +6,7 @@ Phaser CE Class: DOM - + @@ -183,7 +183,7 @@

Source:
- src/utils/DOM.js line 18 + src/utils/DOM.js line 18 @@ -367,7 +367,7 @@
Properties:
Source:
- src/utils/DOM.js line 280 + src/utils/DOM.js line 280 @@ -393,7 +393,7 @@

-

The bounds of the Layout viewport, as discussed in +

The bounds of the Layout viewport, as discussed in A tale of two viewports — part two; but honoring the constraints as specified applicable viewport meta-tag.

The bounds returned are not guaranteed to be fully aligned with CSS media queries (see @@ -529,7 +529,7 @@

Properties:
Source:
- src/utils/DOM.js line 266 + src/utils/DOM.js line 266 @@ -606,7 +606,7 @@
Type:
Source:
- src/utils/DOM.js line 296 + src/utils/DOM.js line 296 @@ -683,7 +683,7 @@
Type:
Source:
- src/utils/DOM.js line 306 + src/utils/DOM.js line 306 @@ -709,11 +709,11 @@

-

The bounds of the Visual viewport, as discussed in +

The bounds of the Visual viewport, as discussed in A tale of two viewports — part one -with one difference: the viewport size excludes scrollbars, as found on some desktop browsers.

+with one difference: the viewport size excludes scrollbars, as found on some desktop browsers.

Supported mobile: - iOS/Safari, Android 4, IE10, Firefox OS (maybe not Firefox Android), Opera Mobile 16

+iOS/Safari, Android 4, IE10, Firefox OS (maybe not Firefox Android), Opera Mobile 16

The properties change dynamically.

@@ -890,7 +890,7 @@
Properties:
Source:
- src/utils/DOM.js line 245 + src/utils/DOM.js line 245 @@ -1041,7 +1041,7 @@
Parameters:
Source:
- src/utils/DOM.js line 103 + src/utils/DOM.js line 103 @@ -1250,7 +1250,7 @@
Parameters:
Source:
- src/utils/DOM.js line 49 + src/utils/DOM.js line 49 @@ -1456,7 +1456,7 @@
Parameters:
Source:
- src/utils/DOM.js line 20 + src/utils/DOM.js line 20 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/utils/DOM.js line 154 + src/utils/DOM.js line 154 @@ -1839,7 +1839,7 @@
Parameters:
Source:
- src/utils/DOM.js line 132 + src/utils/DOM.js line 132 @@ -1906,9 +1906,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1923,9 +1923,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1954,7 +1954,7 @@
Returns:
- + diff --git a/docs/Phaser.Device.html b/docs/Phaser.Device.html index 98b49382f..b32474271 100644 --- a/docs/Phaser.Device.html +++ b/docs/Phaser.Device.html @@ -6,7 +6,7 @@ Phaser CE Class: Device - + @@ -129,7 +129,9 @@

}); -var game = new Phaser.Game();

When checking features using the exposed properties only the truth-iness of the value should be relied upon +var game = new Phaser.Game(); + +

When checking features using the exposed properties only the truth-iness of the value should be relied upon unless the documentation states otherwise: properties may return false, '', null, or even undefined when indicating the lack of a feature.

Uses elements from System.js by MrDoob and Modernizr

@@ -198,7 +200,7 @@

Source:
- src/utils/Device.js line 42 + src/utils/Device.js line 42 @@ -307,7 +309,7 @@
Type:
Source:
- src/utils/Device.js line 576 + src/utils/Device.js line 576 @@ -384,7 +386,7 @@
Type:
Source:
- src/utils/Device.js line 131 + src/utils/Device.js line 131 @@ -461,7 +463,7 @@
Type:
Source:
- src/utils/Device.js line 288 + src/utils/Device.js line 288 @@ -538,7 +540,7 @@
Type:
Source:
- src/utils/Device.js line 398 + src/utils/Device.js line 398 @@ -615,7 +617,7 @@
Type:
Source:
- src/utils/Device.js line 550 + src/utils/Device.js line 550 @@ -692,7 +694,7 @@
Type:
Source:
- src/utils/Device.js line 182 + src/utils/Device.js line 182 @@ -770,7 +772,7 @@
Type:
Source:
- src/utils/Device.js line 192 + src/utils/Device.js line 192 @@ -847,7 +849,7 @@
Type:
Source:
- src/utils/Device.js line 169 + src/utils/Device.js line 169 @@ -924,7 +926,7 @@
Type:
Source:
- src/utils/Device.js line 175 + src/utils/Device.js line 175 @@ -1001,7 +1003,7 @@
Type:
Source:
- src/utils/Device.js line 294 + src/utils/Device.js line 294 @@ -1078,7 +1080,7 @@
Type:
Source:
- src/utils/Device.js line 137 + src/utils/Device.js line 137 @@ -1155,7 +1157,7 @@
Type:
Source:
- src/utils/Device.js line 300 + src/utils/Device.js line 300 @@ -1232,7 +1234,7 @@
Type:
Source:
- src/utils/Device.js line 83 + src/utils/Device.js line 83 @@ -1309,7 +1311,7 @@
Type:
Source:
- src/utils/Device.js line 89 + src/utils/Device.js line 89 @@ -1386,7 +1388,7 @@
Type:
Source:
- src/utils/Device.js line 95 + src/utils/Device.js line 95 @@ -1463,7 +1465,7 @@
Type:
Source:
- src/utils/Device.js line 125 + src/utils/Device.js line 125 @@ -1540,7 +1542,7 @@
Type:
Source:
- src/utils/Device.js line 229 + src/utils/Device.js line 229 @@ -1617,7 +1619,7 @@
Type:
Source:
- src/utils/Device.js line 65 + src/utils/Device.js line 65 @@ -1694,7 +1696,7 @@
Type:
Source:
- src/utils/Device.js line 50 + src/utils/Device.js line 50 @@ -1771,7 +1773,7 @@
Type:
Source:
- src/utils/Device.js line 448 + src/utils/Device.js line 448 @@ -1848,7 +1850,7 @@
Type:
Source:
- src/utils/Device.js line 348 + src/utils/Device.js line 348 @@ -1925,7 +1927,7 @@
Type:
Source:
- src/utils/Device.js line 119 + src/utils/Device.js line 119 @@ -2002,7 +2004,7 @@
Type:
Source:
- src/utils/Device.js line 113 + src/utils/Device.js line 113 @@ -2079,7 +2081,7 @@
Type:
Source:
- src/utils/Device.js line 306 + src/utils/Device.js line 306 @@ -2156,7 +2158,7 @@
Type:
Source:
- src/utils/Device.js line 205 + src/utils/Device.js line 205 @@ -2233,7 +2235,7 @@
Type:
Source:
- src/utils/Device.js line 211 + src/utils/Device.js line 211 @@ -2310,7 +2312,7 @@
Type:
Source:
- src/utils/Device.js line 312 + src/utils/Device.js line 312 @@ -2387,7 +2389,7 @@
Type:
Source:
- src/utils/Device.js line 318 + src/utils/Device.js line 318 @@ -2464,7 +2466,7 @@
Type:
Source:
- src/utils/Device.js line 538 + src/utils/Device.js line 538 @@ -2541,7 +2543,7 @@
Type:
Source:
- src/utils/Device.js line 556 + src/utils/Device.js line 556 @@ -2625,7 +2627,7 @@
Type:
Source:
- src/utils/Device.js line 253 + src/utils/Device.js line 253 @@ -2702,7 +2704,7 @@
Type:
Source:
- src/utils/Device.js line 462 + src/utils/Device.js line 462 @@ -2779,7 +2781,7 @@
Type:
Source:
- src/utils/Device.js line 486 + src/utils/Device.js line 486 @@ -2856,7 +2858,7 @@
Type:
Source:
- src/utils/Device.js line 324 + src/utils/Device.js line 324 @@ -2933,7 +2935,7 @@
Type:
Source:
- src/utils/Device.js line 330 + src/utils/Device.js line 330 @@ -3010,7 +3012,7 @@
Type:
Source:
- src/utils/Device.js line 57 + src/utils/Device.js line 57 @@ -3087,7 +3089,7 @@
Type:
Source:
- src/utils/Device.js line 71 + src/utils/Device.js line 71 @@ -3164,7 +3166,7 @@
Type:
Source:
- src/utils/Device.js line 77 + src/utils/Device.js line 77 @@ -3241,7 +3243,7 @@
Type:
Source:
- src/utils/Device.js line 506 + src/utils/Device.js line 506 @@ -3318,7 +3320,7 @@
Type:
Source:
- src/utils/Device.js line 494 + src/utils/Device.js line 494 @@ -3395,7 +3397,7 @@
Type:
Source:
- src/utils/Device.js line 500 + src/utils/Device.js line 500 @@ -3472,7 +3474,7 @@
Type:
Source:
- src/utils/Device.js line 143 + src/utils/Device.js line 143 @@ -3549,7 +3551,7 @@
Type:
Source:
- src/utils/Device.js line 526 + src/utils/Device.js line 526 @@ -3626,7 +3628,7 @@
Type:
Source:
- src/utils/Device.js line 520 + src/utils/Device.js line 520 @@ -3703,7 +3705,7 @@
Type:
Source:
- src/utils/Device.js line 217 + src/utils/Device.js line 217 @@ -3780,7 +3782,7 @@
Type:
Source:
- src/utils/Device.js line 436 + src/utils/Device.js line 436 @@ -3857,7 +3859,7 @@
Type:
Source:
- src/utils/Device.js line 149 + src/utils/Device.js line 149 @@ -3934,7 +3936,7 @@
Type:
Source:
- src/utils/Device.js line 360 + src/utils/Device.js line 360 @@ -4011,7 +4013,7 @@
Type:
Source:
- src/utils/Device.js line 354 + src/utils/Device.js line 354 @@ -4088,7 +4090,7 @@
Type:
Source:
- src/utils/Device.js line 423 + src/utils/Device.js line 423 @@ -4165,7 +4167,7 @@
Type:
Source:
- src/utils/Device.js line 468 + src/utils/Device.js line 468 @@ -4242,7 +4244,7 @@
Type:
Source:
- src/utils/Device.js line 273 + src/utils/Device.js line 273 @@ -4319,7 +4321,7 @@
Type:
Source:
- src/utils/Device.js line 101 + src/utils/Device.js line 101 @@ -4396,7 +4398,7 @@
Type:
Source:
- src/utils/Device.js line 107 + src/utils/Device.js line 107 @@ -4473,7 +4475,7 @@
Type:
Source:
- src/utils/Device.js line 411 + src/utils/Device.js line 411 @@ -4550,7 +4552,7 @@
Type:
Source:
- src/utils/Device.js line 456 + src/utils/Device.js line 456 @@ -4627,7 +4629,7 @@
Type:
Source:
- src/utils/Device.js line 366 + src/utils/Device.js line 366 @@ -4704,7 +4706,7 @@
Type:
Source:
- src/utils/Device.js line 417 + src/utils/Device.js line 417 @@ -4781,7 +4783,7 @@
Type:
Source:
- src/utils/Device.js line 514 + src/utils/Device.js line 514 @@ -4858,7 +4860,7 @@
Type:
Source:
- src/utils/Device.js line 235 + src/utils/Device.js line 235 @@ -4935,7 +4937,7 @@
Type:
Source:
- src/utils/Device.js line 259 + src/utils/Device.js line 259 @@ -5012,7 +5014,7 @@
Type:
Source:
- src/utils/Device.js line 544 + src/utils/Device.js line 544 @@ -5089,7 +5091,7 @@
Type:
Source:
- src/utils/Device.js line 372 + src/utils/Device.js line 372 @@ -5166,7 +5168,7 @@
Type:
Source:
- src/utils/Device.js line 378 + src/utils/Device.js line 378 @@ -5243,7 +5245,7 @@
Type:
Source:
- src/utils/Device.js line 390 + src/utils/Device.js line 390 @@ -5320,7 +5322,7 @@
Type:
Source:
- src/utils/Device.js line 532 + src/utils/Device.js line 532 @@ -5397,7 +5399,7 @@
Type:
Source:
- src/utils/Device.js line 267 + src/utils/Device.js line 267 @@ -5474,7 +5476,7 @@
Type:
Source:
- src/utils/Device.js line 336 + src/utils/Device.js line 336 @@ -5551,7 +5553,7 @@
Type:
Source:
- src/utils/Device.js line 342 + src/utils/Device.js line 342 @@ -5628,7 +5630,7 @@
Type:
Source:
- src/utils/Device.js line 241 + src/utils/Device.js line 241 @@ -5705,7 +5707,7 @@
Type:
Source:
- src/utils/Device.js line 247 + src/utils/Device.js line 247 @@ -5782,7 +5784,7 @@
Type:
Source:
- src/utils/Device.js line 480 + src/utils/Device.js line 480 @@ -5859,7 +5861,7 @@
Type:
Source:
- src/utils/Device.js line 429 + src/utils/Device.js line 429 @@ -5936,7 +5938,7 @@
Type:
Source:
- src/utils/Device.js line 384 + src/utils/Device.js line 384 @@ -6013,7 +6015,7 @@
Type:
Source:
- src/utils/Device.js line 405 + src/utils/Device.js line 405 @@ -6097,7 +6099,7 @@
Type:
Source:
- src/utils/Device.js line 199 + src/utils/Device.js line 199 @@ -6181,7 +6183,7 @@
Type:
Source:
- src/utils/Device.js line 442 + src/utils/Device.js line 442 @@ -6258,7 +6260,7 @@
Type:
Source:
- src/utils/Device.js line 474 + src/utils/Device.js line 474 @@ -6383,7 +6385,7 @@
Properties:
Source:
- src/utils/Device.js line 280 + src/utils/Device.js line 280 @@ -6460,7 +6462,7 @@
Type:
Source:
- src/utils/Device.js line 155 + src/utils/Device.js line 155 @@ -6537,7 +6539,7 @@
Type:
Source:
- src/utils/Device.js line 161 + src/utils/Device.js line 161 @@ -6614,7 +6616,7 @@
Type:
Source:
- src/utils/Device.js line 223 + src/utils/Device.js line 223 @@ -6840,7 +6842,7 @@
Parameters:
Source:
- src/utils/Device.js line 592 + src/utils/Device.js line 592 @@ -6974,7 +6976,7 @@
Parameters:
Source:
- src/utils/Device.js line 1361 + src/utils/Device.js line 1361 @@ -7132,7 +7134,7 @@
Parameters:
Source:
- src/utils/Device.js line 1405 + src/utils/Device.js line 1405 @@ -7242,7 +7244,7 @@

Source:
- src/utils/Device.js line 1449 + src/utils/Device.js line 1449 @@ -7332,7 +7334,7 @@

Source:
- src/utils/Device.js line 1437 + src/utils/Device.js line 1437 @@ -7395,9 +7397,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -7412,9 +7414,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -7443,7 +7445,7 @@
Returns:
- + diff --git a/docs/Phaser.DeviceButton.html b/docs/Phaser.DeviceButton.html index 44db83f12..0f64924f1 100644 --- a/docs/Phaser.DeviceButton.html +++ b/docs/Phaser.DeviceButton.html @@ -6,7 +6,7 @@ Phaser CE Class: DeviceButton - + @@ -269,7 +269,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 31 + src/input/DeviceButton.js line 31 @@ -375,7 +375,7 @@
Type:
Source:
- src/input/DeviceButton.js line 88 + src/input/DeviceButton.js line 88 @@ -452,7 +452,7 @@
Type:
Source:
- src/input/DeviceButton.js line 115 + src/input/DeviceButton.js line 115 @@ -530,7 +530,7 @@
Type:
Source:
- src/input/DeviceButton.js line 104 + src/input/DeviceButton.js line 104 @@ -608,7 +608,7 @@
Type:
Source:
- src/input/DeviceButton.js line 335 + src/input/DeviceButton.js line 335 @@ -685,7 +685,7 @@
Type:
Source:
- src/input/DeviceButton.js line 48 + src/input/DeviceButton.js line 48 @@ -762,7 +762,7 @@
Type:
Source:
- src/input/DeviceButton.js line 42 + src/input/DeviceButton.js line 42 @@ -839,7 +839,7 @@
Type:
Source:
- src/input/DeviceButton.js line 54 + src/input/DeviceButton.js line 54 @@ -923,7 +923,7 @@
Type:
Source:
- src/input/DeviceButton.js line 60 + src/input/DeviceButton.js line 60 @@ -1002,7 +1002,7 @@
Type:
Source:
- src/input/DeviceButton.js line 123 + src/input/DeviceButton.js line 123 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/input/DeviceButton.js line 139 + src/input/DeviceButton.js line 139 @@ -1160,7 +1160,7 @@
Type:
Source:
- src/input/DeviceButton.js line 131 + src/input/DeviceButton.js line 131 @@ -1240,7 +1240,7 @@
Type:
Source:
- src/input/DeviceButton.js line 37 + src/input/DeviceButton.js line 37 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/input/DeviceButton.js line 80 + src/input/DeviceButton.js line 80 @@ -1396,7 +1396,7 @@
Type:
Source:
- src/input/DeviceButton.js line 96 + src/input/DeviceButton.js line 96 @@ -1473,7 +1473,7 @@
Type:
Source:
- src/input/DeviceButton.js line 66 + src/input/DeviceButton.js line 66 @@ -1550,7 +1550,7 @@
Type:
Source:
- src/input/DeviceButton.js line 72 + src/input/DeviceButton.js line 72 @@ -1627,7 +1627,7 @@
Type:
Source:
- src/input/DeviceButton.js line 110 + src/input/DeviceButton.js line 110 @@ -1706,7 +1706,7 @@

Source:
- src/input/DeviceButton.js line 313 + src/input/DeviceButton.js line 313 @@ -1861,7 +1861,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 259 + src/input/DeviceButton.js line 259 @@ -2040,7 +2040,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 276 + src/input/DeviceButton.js line 276 @@ -2198,7 +2198,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 240 + src/input/DeviceButton.js line 240 @@ -2282,7 +2282,7 @@

Source:
- src/input/DeviceButton.js line 293 + src/input/DeviceButton.js line 293 @@ -2463,7 +2463,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 145 + src/input/DeviceButton.js line 145 @@ -2678,7 +2678,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 216 + src/input/DeviceButton.js line 216 @@ -2859,7 +2859,7 @@
Parameters:
Source:
- src/input/DeviceButton.js line 181 + src/input/DeviceButton.js line 181 @@ -2902,9 +2902,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2919,9 +2919,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2950,7 +2950,7 @@
Parameters:
- + diff --git a/docs/Phaser.Easing.Back.html b/docs/Phaser.Easing.Back.html index db50b994b..5bd74427e 100644 --- a/docs/Phaser.Easing.Back.html +++ b/docs/Phaser.Easing.Back.html @@ -6,7 +6,7 @@ Phaser CE Class: Back - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 485 + src/tween/Easing.js line 485 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 487 + src/tween/Easing.js line 487 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 517 + src/tween/Easing.js line 517 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 502 + src/tween/Easing.js line 502 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Bounce.html b/docs/Phaser.Easing.Bounce.html index 5b6dd39c0..0a7e4769d 100644 --- a/docs/Phaser.Easing.Bounce.html +++ b/docs/Phaser.Easing.Bounce.html @@ -6,7 +6,7 @@ Phaser CE Class: Bounce - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 540 + src/tween/Easing.js line 540 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 542 + src/tween/Easing.js line 542 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 593 + src/tween/Easing.js line 593 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 556 + src/tween/Easing.js line 556 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Circular.html b/docs/Phaser.Easing.Circular.html index 38ab77fa4..b47980d88 100644 --- a/docs/Phaser.Easing.Circular.html +++ b/docs/Phaser.Easing.Circular.html @@ -6,7 +6,7 @@ Phaser CE Class: Circular - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 363 + src/tween/Easing.js line 363 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 365 + src/tween/Easing.js line 365 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 393 + src/tween/Easing.js line 393 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 379 + src/tween/Easing.js line 379 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Cubic.html b/docs/Phaser.Easing.Cubic.html index ac513b5a5..ab9a5407c 100644 --- a/docs/Phaser.Easing.Cubic.html +++ b/docs/Phaser.Easing.Cubic.html @@ -6,7 +6,7 @@ Phaser CE Class: Cubic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 96 + src/tween/Easing.js line 96 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 98 + src/tween/Easing.js line 98 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 126 + src/tween/Easing.js line 126 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 112 + src/tween/Easing.js line 112 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Elastic.html b/docs/Phaser.Easing.Elastic.html index 41fe7d863..150f8eaf8 100644 --- a/docs/Phaser.Easing.Elastic.html +++ b/docs/Phaser.Easing.Elastic.html @@ -6,7 +6,7 @@ Phaser CE Class: Elastic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 415 + src/tween/Easing.js line 415 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 417 + src/tween/Easing.js line 417 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 457 + src/tween/Easing.js line 457 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 437 + src/tween/Easing.js line 437 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Exponential.html b/docs/Phaser.Easing.Exponential.html index 0197eab44..de729f7d6 100644 --- a/docs/Phaser.Easing.Exponential.html +++ b/docs/Phaser.Easing.Exponential.html @@ -6,7 +6,7 @@ Phaser CE Class: Exponential - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 309 + src/tween/Easing.js line 309 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 311 + src/tween/Easing.js line 311 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 339 + src/tween/Easing.js line 339 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 325 + src/tween/Easing.js line 325 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Linear.html b/docs/Phaser.Easing.Linear.html index 55548b158..5431e1c86 100644 --- a/docs/Phaser.Easing.Linear.html +++ b/docs/Phaser.Easing.Linear.html @@ -6,7 +6,7 @@ Phaser CE Class: Linear - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 21 + src/tween/Easing.js line 21 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 23 + src/tween/Easing.js line 23 @@ -399,9 +399,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -416,9 +416,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -447,7 +447,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quadratic.html b/docs/Phaser.Easing.Quadratic.html index 43a80acaa..5bebda7c4 100644 --- a/docs/Phaser.Easing.Quadratic.html +++ b/docs/Phaser.Easing.Quadratic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quadratic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 44 + src/tween/Easing.js line 44 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 46 + src/tween/Easing.js line 46 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 74 + src/tween/Easing.js line 74 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 60 + src/tween/Easing.js line 60 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quartic.html b/docs/Phaser.Easing.Quartic.html index 722f067b6..1d95f0649 100644 --- a/docs/Phaser.Easing.Quartic.html +++ b/docs/Phaser.Easing.Quartic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quartic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 148 + src/tween/Easing.js line 148 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 150 + src/tween/Easing.js line 150 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 178 + src/tween/Easing.js line 178 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 164 + src/tween/Easing.js line 164 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Quintic.html b/docs/Phaser.Easing.Quintic.html index 75043a6dc..8f9a578fc 100644 --- a/docs/Phaser.Easing.Quintic.html +++ b/docs/Phaser.Easing.Quintic.html @@ -6,7 +6,7 @@ Phaser CE Class: Quintic - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 200 + src/tween/Easing.js line 200 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 202 + src/tween/Easing.js line 202 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 230 + src/tween/Easing.js line 230 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 216 + src/tween/Easing.js line 216 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.Sinusoidal.html b/docs/Phaser.Easing.Sinusoidal.html index f2e7ec36c..6a488c29e 100644 --- a/docs/Phaser.Easing.Sinusoidal.html +++ b/docs/Phaser.Easing.Sinusoidal.html @@ -6,7 +6,7 @@ Phaser CE Class: Sinusoidal - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 252 + src/tween/Easing.js line 252 @@ -332,7 +332,7 @@
Parameters:
Source:
- src/tween/Easing.js line 254 + src/tween/Easing.js line 254 @@ -490,7 +490,7 @@
Parameters:
Source:
- src/tween/Easing.js line 286 + src/tween/Easing.js line 286 @@ -648,7 +648,7 @@
Parameters:
Source:
- src/tween/Easing.js line 270 + src/tween/Easing.js line 270 @@ -715,9 +715,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -732,9 +732,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -763,7 +763,7 @@
Returns:
- + diff --git a/docs/Phaser.Easing.html b/docs/Phaser.Easing.html index 696e57d6c..86cbbc9ee 100644 --- a/docs/Phaser.Easing.html +++ b/docs/Phaser.Easing.html @@ -6,7 +6,7 @@ Phaser CE Class: Easing - + @@ -180,7 +180,7 @@

Source:
- src/tween/Easing.js line 14 + src/tween/Easing.js line 14 @@ -274,9 +274,9 @@

Classes

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -291,9 +291,9 @@

Classes

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -322,7 +322,7 @@

Classes

- + diff --git a/docs/Phaser.Ellipse.html b/docs/Phaser.Ellipse.html index cccd35c82..35b7df11f 100644 --- a/docs/Phaser.Ellipse.html +++ b/docs/Phaser.Ellipse.html @@ -6,7 +6,7 @@ Phaser CE Class: Ellipse - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 18 + src/geom/Ellipse.js line 18 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Ellipse.js line 263 + src/geom/Ellipse.js line 263 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Ellipse.js line 290 + src/geom/Ellipse.js line 290 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Ellipse.js line 305 + src/geom/Ellipse.js line 305 @@ -707,7 +707,7 @@
Type:
Source:
- src/geom/Ellipse.js line 320 + src/geom/Ellipse.js line 320 @@ -784,7 +784,7 @@
Type:
Source:
- src/geom/Ellipse.js line 44 + src/geom/Ellipse.js line 44 @@ -850,7 +850,7 @@

Source:
- src/geom/Ellipse.js line 196 + src/geom/Ellipse.js line 196 @@ -927,7 +927,7 @@
Type:
Source:
- src/geom/Ellipse.js line 217 + src/geom/Ellipse.js line 217 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/geom/Ellipse.js line 244 + src/geom/Ellipse.js line 244 @@ -1081,7 +1081,7 @@
Type:
Source:
- src/geom/Ellipse.js line 50 + src/geom/Ellipse.js line 50 @@ -1158,7 +1158,7 @@
Type:
Source:
- src/geom/Ellipse.js line 39 + src/geom/Ellipse.js line 39 @@ -1235,7 +1235,7 @@
Type:
Source:
- src/geom/Ellipse.js line 29 + src/geom/Ellipse.js line 29 @@ -1312,7 +1312,7 @@
Type:
Source:
- src/geom/Ellipse.js line 34 + src/geom/Ellipse.js line 34 @@ -1488,7 +1488,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 345 + src/geom/Ellipse.js line 345 @@ -1722,7 +1722,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 373 + src/geom/Ellipse.js line 373 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 122 + src/geom/Ellipse.js line 122 @@ -2074,7 +2074,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 144 + src/geom/Ellipse.js line 144 @@ -2232,7 +2232,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 90 + src/geom/Ellipse.js line 90 @@ -2390,7 +2390,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 104 + src/geom/Ellipse.js line 104 @@ -2498,7 +2498,7 @@

Source:
- src/geom/Ellipse.js line 77 + src/geom/Ellipse.js line 77 @@ -2629,7 +2629,7 @@
Parameters:

A Phaser.Point, or any object with public x/y properties, that the values will be set in. - If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

+If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

@@ -2672,7 +2672,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 159 + src/geom/Ellipse.js line 159 @@ -2902,7 +2902,7 @@
Parameters:
Source:
- src/geom/Ellipse.js line 56 + src/geom/Ellipse.js line 56 @@ -3010,7 +3010,7 @@

Source:
- src/geom/Ellipse.js line 182 + src/geom/Ellipse.js line 182 @@ -3077,9 +3077,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3094,9 +3094,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3125,7 +3125,7 @@
Returns:
- + diff --git a/docs/Phaser.Events.html b/docs/Phaser.Events.html index e9370595b..61be0b63d 100644 --- a/docs/Phaser.Events.html +++ b/docs/Phaser.Events.html @@ -6,7 +6,7 @@ Phaser CE Class: Events - + @@ -240,7 +240,7 @@
Parameters:
Source:
- src/gameobjects/components/Events.js line 30 + src/gameobjects/components/Events.js line 30 @@ -350,7 +350,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 87 + src/gameobjects/components/Events.js line 87 @@ -434,7 +434,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 275 + src/gameobjects/components/Events.js line 275 @@ -518,7 +518,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 288 + src/gameobjects/components/Events.js line 288 @@ -602,7 +602,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 262 + src/gameobjects/components/Events.js line 262 @@ -684,7 +684,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 109 + src/gameobjects/components/Events.js line 109 @@ -770,7 +770,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 220 + src/gameobjects/components/Events.js line 220 @@ -853,7 +853,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 249 + src/gameobjects/components/Events.js line 249 @@ -941,7 +941,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 237 + src/gameobjects/components/Events.js line 237 @@ -1023,7 +1023,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 154 + src/gameobjects/components/Events.js line 154 @@ -1107,7 +1107,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 191 + src/gameobjects/components/Events.js line 191 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 178 + src/gameobjects/components/Events.js line 178 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 166 + src/gameobjects/components/Events.js line 166 @@ -1358,7 +1358,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 205 + src/gameobjects/components/Events.js line 205 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 121 + src/gameobjects/components/Events.js line 121 @@ -1523,7 +1523,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 143 + src/gameobjects/components/Events.js line 143 @@ -1605,7 +1605,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 98 + src/gameobjects/components/Events.js line 98 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 132 + src/gameobjects/components/Events.js line 132 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/gameobjects/components/Events.js line 36 + src/gameobjects/components/Events.js line 36 @@ -1842,7 +1842,7 @@

Source:
- src/gameobjects/components/Events.js line 44 + src/gameobjects/components/Events.js line 44 @@ -1885,9 +1885,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1902,9 +1902,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1933,7 +1933,7 @@

- + diff --git a/docs/Phaser.Filter.html b/docs/Phaser.Filter.html index ca5b2f229..8645ccc37 100644 --- a/docs/Phaser.Filter.html +++ b/docs/Phaser.Filter.html @@ -6,7 +6,7 @@ Phaser CE Class: Filter - + @@ -146,7 +146,9 @@

iChannel0: { type: 'sampler2D', value: null, textureData: { repeat: true } } iChannel1: { type: 'sampler2D', value: null, textureData: { repeat: true } } iChannel2: { type: 'sampler2D', value: null, textureData: { repeat: true } } -iChannel3: { type: 'sampler2D', value: null, textureData: { repeat: true } }

The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and +iChannel3: { type: 'sampler2D', value: null, textureData: { repeat: true } } + +

The vast majority of filters (including all of those that ship with Phaser) use fragment shaders, and therefore only work in WebGL and are not supported by Canvas at all.

@@ -323,7 +325,7 @@

Parameters:
Source:
- src/core/Filter.js line 35 + src/core/Filter.js line 35 @@ -435,7 +437,7 @@
Type:
Source:
- src/core/Filter.js line 67 + src/core/Filter.js line 67 @@ -515,7 +517,7 @@
Type:
Source:
- src/core/Filter.js line 121 + src/core/Filter.js line 121 @@ -592,7 +594,7 @@
Type:
Source:
- src/core/Filter.js line 41 + src/core/Filter.js line 41 @@ -669,7 +671,7 @@
Type:
Source:
- src/core/Filter.js line 294 + src/core/Filter.js line 294 @@ -746,7 +748,7 @@
Type:
Source:
- src/core/Filter.js line 73 + src/core/Filter.js line 73 @@ -823,7 +825,7 @@
Type:
Source:
- src/core/Filter.js line 78 + src/core/Filter.js line 78 @@ -900,7 +902,7 @@
Type:
Source:
- src/core/Filter.js line 47 + src/core/Filter.js line 47 @@ -977,7 +979,7 @@
Type:
Source:
- src/core/Filter.js line 89 + src/core/Filter.js line 89 @@ -1054,7 +1056,7 @@
Type:
Source:
- src/core/Filter.js line 272 + src/core/Filter.js line 272 @@ -1402,7 +1404,7 @@
Parameters:
Source:
- src/core/Filter.js line 180 + src/core/Filter.js line 180 @@ -1510,7 +1512,7 @@

Source:
- src/core/Filter.js line 250 + src/core/Filter.js line 250 @@ -1594,7 +1596,7 @@

Source:
- src/core/Filter.js line 127 + src/core/Filter.js line 127 @@ -1752,7 +1754,7 @@
Parameters:
Source:
- src/core/Filter.js line 139 + src/core/Filter.js line 139 @@ -1836,7 +1838,7 @@

Source:
- src/core/Filter.js line 235 + src/core/Filter.js line 235 @@ -1982,7 +1984,7 @@
Parameters:
Source:
- src/core/Filter.js line 154 + src/core/Filter.js line 154 @@ -2025,9 +2027,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2042,9 +2044,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2073,7 +2075,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexGrid.html b/docs/Phaser.FlexGrid.html index a4854d1f5..4ed25f631 100644 --- a/docs/Phaser.FlexGrid.html +++ b/docs/Phaser.FlexGrid.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexGrid - + @@ -282,7 +282,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 21 + src/core/FlexGrid.js line 21 @@ -387,7 +387,7 @@
Type:
Source:
- src/core/FlexGrid.js line 27 + src/core/FlexGrid.js line 27 @@ -464,7 +464,7 @@
Type:
Source:
- src/core/FlexGrid.js line 32 + src/core/FlexGrid.js line 32 @@ -539,7 +539,9 @@
Properties:
-

-

+
    +
  • +
@@ -579,7 +581,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 47 + src/core/FlexGrid.js line 47 @@ -694,7 +696,7 @@
Properties:
Source:
- src/core/FlexGrid.js line 56 + src/core/FlexGrid.js line 56 @@ -898,7 +900,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 106 + src/core/FlexGrid.js line 106 @@ -1068,7 +1070,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 199 + src/core/FlexGrid.js line 199 @@ -1238,7 +1240,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 144 + src/core/FlexGrid.js line 144 @@ -1408,7 +1410,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 174 + src/core/FlexGrid.js line 174 @@ -1516,7 +1518,7 @@

Source:
- src/core/FlexGrid.js line 309 + src/core/FlexGrid.js line 309 @@ -1650,7 +1652,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 293 + src/core/FlexGrid.js line 293 @@ -1808,7 +1810,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 247 + src/core/FlexGrid.js line 247 @@ -1892,7 +1894,7 @@

Source:
- src/core/FlexGrid.js line 264 + src/core/FlexGrid.js line 264 @@ -1976,7 +1978,7 @@

Source:
- src/core/FlexGrid.js line 224 + src/core/FlexGrid.js line 224 @@ -2134,7 +2136,7 @@
Parameters:
Source:
- src/core/FlexGrid.js line 78 + src/core/FlexGrid.js line 78 @@ -2177,9 +2179,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2194,9 +2196,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2225,7 +2227,7 @@
Parameters:
- + diff --git a/docs/Phaser.FlexLayer.html b/docs/Phaser.FlexLayer.html index b230a0aa6..9105a2ec9 100644 --- a/docs/Phaser.FlexLayer.html +++ b/docs/Phaser.FlexLayer.html @@ -6,7 +6,7 @@ Phaser CE Class: FlexLayer - + @@ -305,7 +305,7 @@
Parameters:
Source:
- src/core/FlexLayer.js line 22 + src/core/FlexLayer.js line 22 @@ -437,7 +437,7 @@
Type:
Source:
- src/core/Group.js line 92 + src/core/Group.js line 92 @@ -523,7 +523,7 @@
Type:
Source:
- src/core/Group.js line 3339 + src/core/Group.js line 3339 @@ -612,7 +612,7 @@
Type:
Source:
- src/core/Group.js line 2985 + src/core/Group.js line 2985 @@ -700,7 +700,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -773,7 +773,7 @@
Type:
Source:
- src/core/FlexLayer.js line 77 + src/core/FlexLayer.js line 77 @@ -846,7 +846,7 @@
Type:
Source:
- src/core/FlexLayer.js line 82 + src/core/FlexLayer.js line 82 @@ -919,7 +919,7 @@
Type:
Source:
- src/core/FlexLayer.js line 87 + src/core/FlexLayer.js line 87 @@ -992,7 +992,7 @@
Type:
Source:
- src/core/FlexLayer.js line 52 + src/core/FlexLayer.js line 52 @@ -1085,7 +1085,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/core/Group.js line 278 + src/core/Group.js line 278 @@ -1260,7 +1260,7 @@
Type:
Source:
- src/core/Group.js line 3010 + src/core/Group.js line 3010 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/core/Group.js line 3040 + src/core/Group.js line 3040 @@ -1434,7 +1434,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/core/Group.js line 128 + src/core/Group.js line 128 @@ -1615,7 +1615,7 @@
Type:
Source:
- src/core/Group.js line 136 + src/core/Group.js line 136 @@ -1701,7 +1701,7 @@
Type:
Source:
- src/core/Group.js line 261 + src/core/Group.js line 261 @@ -1789,7 +1789,7 @@
Type:
Source:
- src/core/Group.js line 214 + src/core/Group.js line 214 @@ -1876,7 +1876,7 @@
Type:
Source:
- src/core/Group.js line 223 + src/core/Group.js line 223 @@ -1969,7 +1969,7 @@
Type:
Source:
- src/core/Group.js line 99 + src/core/Group.js line 99 @@ -2055,7 +2055,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2146,7 +2146,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2234,7 +2234,7 @@
Type:
Source:
- src/core/Group.js line 271 + src/core/Group.js line 271 @@ -2320,7 +2320,7 @@
Type:
Source:
- src/core/Group.js line 39 + src/core/Group.js line 39 @@ -2397,7 +2397,7 @@
Type:
Source:
- src/core/FlexLayer.js line 35 + src/core/FlexLayer.js line 35 @@ -2487,7 +2487,7 @@
Type:
Source:
- src/core/Group.js line 291 + src/core/Group.js line 291 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -2669,7 +2669,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -2843,7 +2843,7 @@
Type:
Source:
- src/core/Group.js line 106 + src/core/Group.js line 106 @@ -2931,7 +2931,7 @@
Type:
Source:
- src/core/Group.js line 147 + src/core/Group.js line 147 @@ -3019,7 +3019,7 @@
Type:
Source:
- src/core/Group.js line 3070 + src/core/Group.js line 3070 @@ -3105,7 +3105,7 @@
Type:
Source:
- src/core/Group.js line 2967 + src/core/Group.js line 2967 @@ -3220,7 +3220,7 @@
Properties:
Source:
- src/core/FlexLayer.js line 30 + src/core/FlexLayer.js line 30 @@ -3309,7 +3309,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -3395,7 +3395,7 @@
Type:
Source:
- src/core/Group.js line 50 + src/core/Group.js line 50 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/core/Group.js line 167 + src/core/Group.js line 167 @@ -3575,7 +3575,7 @@
Type:
Source:
- src/core/Group.js line 204 + src/core/Group.js line 204 @@ -3665,7 +3665,7 @@
Type:
Source:
- src/core/Group.js line 192 + src/core/Group.js line 192 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 180 + src/core/Group.js line 180 @@ -3842,7 +3842,7 @@
Type:
Source:
- src/core/Group.js line 255 + src/core/Group.js line 255 @@ -3931,7 +3931,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4021,7 +4021,7 @@
Type:
Source:
- src/core/Group.js line 118 + src/core/Group.js line 118 @@ -4098,7 +4098,7 @@
Type:
Source:
- src/core/FlexLayer.js line 42 + src/core/FlexLayer.js line 42 @@ -4185,7 +4185,7 @@
Type:
Source:
- src/core/Group.js line 231 + src/core/Group.js line 231 @@ -4278,7 +4278,7 @@
Type:
Source:
- src/core/Group.js line 249 + src/core/Group.js line 249 @@ -4364,7 +4364,7 @@
Type:
Source:
- src/core/Group.js line 85 + src/core/Group.js line 85 @@ -4451,7 +4451,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4529,7 +4529,7 @@
Type:
Source:
- src/core/FlexLayer.js line 47 + src/core/FlexLayer.js line 47 @@ -4616,7 +4616,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -4704,7 +4704,7 @@
Type:
Source:
- src/core/Group.js line 3100 + src/core/Group.js line 3100 @@ -4792,7 +4792,7 @@
Type:
Source:
- src/core/Group.js line 3323 + src/core/Group.js line 3323 @@ -4870,7 +4870,7 @@
Type:
Source:
- src/core/FlexLayer.js line 57 + src/core/FlexLayer.js line 57 @@ -4958,7 +4958,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -5031,7 +5031,7 @@
Type:
Source:
- src/core/FlexLayer.js line 62 + src/core/FlexLayer.js line 62 @@ -5104,7 +5104,7 @@
Type:
Source:
- src/core/FlexLayer.js line 67 + src/core/FlexLayer.js line 67 @@ -5177,7 +5177,7 @@
Type:
Source:
- src/core/FlexLayer.js line 72 + src/core/FlexLayer.js line 72 @@ -5263,7 +5263,7 @@
Type:
Source:
- src/core/Group.js line 2949 + src/core/Group.js line 2949 @@ -5349,7 +5349,7 @@
Type:
Source:
- src/core/Group.js line 79 + src/core/Group.js line 79 @@ -5435,7 +5435,7 @@
Type:
Source:
- src/core/Group.js line 155 + src/core/Group.js line 155 @@ -5521,7 +5521,7 @@
Type:
Source:
- src/core/Group.js line 3332 + src/core/Group.js line 3332 @@ -5607,7 +5607,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -5699,7 +5699,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -5790,7 +5790,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -5881,7 +5881,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -5972,7 +5972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -6237,7 +6237,7 @@
Type:
Source:
- src/core/Group.js line 3305 + src/core/Group.js line 3305 @@ -6325,7 +6325,7 @@
Type:
Source:
- src/core/Group.js line 3314 + src/core/Group.js line 3314 @@ -6412,7 +6412,7 @@
Type:
Source:
- src/core/Group.js line 58 + src/core/Group.js line 58 @@ -6650,7 +6650,7 @@
Parameters:
Source:
- src/core/Group.js line 347 + src/core/Group.js line 347 @@ -6928,7 +6928,7 @@
Parameters:
Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -7170,7 +7170,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -7337,7 +7337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -7759,7 +7759,7 @@
Parameters:
Source:
- src/core/Group.js line 499 + src/core/Group.js line 499 @@ -7930,7 +7930,7 @@
Parameters:
Source:
- src/core/Group.js line 447 + src/core/Group.js line 447 @@ -8325,7 +8325,7 @@
Parameters:
Source:
- src/core/Group.js line 705 + src/core/Group.js line 705 @@ -8668,7 +8668,7 @@
Parameters:
Source:
- src/core/Group.js line 3190 + src/core/Group.js line 3190 @@ -9012,7 +9012,7 @@
Parameters:
Source:
- src/core/Group.js line 3232 + src/core/Group.js line 3232 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/core/Group.js line 2128 + src/core/Group.js line 2128 @@ -9346,7 +9346,7 @@
Parameters:
Source:
- src/core/Group.js line 935 + src/core/Group.js line 935 @@ -9609,7 +9609,7 @@
Parameters:
Source:
- src/core/Group.js line 1710 + src/core/Group.js line 1710 @@ -9829,7 +9829,7 @@
Parameters:
Source:
- src/core/Group.js line 1622 + src/core/Group.js line 1622 @@ -10020,7 +10020,7 @@
Parameters:
Source:
- src/core/Group.js line 1659 + src/core/Group.js line 1659 @@ -10336,7 +10336,7 @@
Parameters:
Source:
- src/core/Group.js line 1409 + src/core/Group.js line 1409 @@ -10638,7 +10638,7 @@
Parameters:
Source:
- src/core/Group.js line 1446 + src/core/Group.js line 1446 @@ -10935,7 +10935,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -11102,7 +11102,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -11289,7 +11289,7 @@
Parameters:
Source:
- src/core/Group.js line 2559 + src/core/Group.js line 2559 @@ -11406,7 +11406,7 @@

Source:
- src/core/Group.js line 2587 + src/core/Group.js line 2587 @@ -11523,7 +11523,7 @@

Source:
- src/core/Group.js line 2574 + src/core/Group.js line 2574 @@ -11917,7 +11917,7 @@
Parameters:
Source:
- src/core/Group.js line 556 + src/core/Group.js line 556 @@ -12324,7 +12324,7 @@
Parameters:
Source:
- src/core/Group.js line 594 + src/core/Group.js line 594 @@ -12537,7 +12537,7 @@
Parameters:
Source:
- src/core/Group.js line 2103 + src/core/Group.js line 2103 @@ -12621,7 +12621,7 @@

Source:
- src/core/FlexLayer.js line 103 + src/core/FlexLayer.js line 103 @@ -12788,7 +12788,7 @@
Parameters:
Source:
- src/core/Group.js line 2159 + src/core/Group.js line 2159 @@ -12992,7 +12992,7 @@
Parameters:
Source:
- src/core/Group.js line 2911 + src/core/Group.js line 2911 @@ -13208,7 +13208,7 @@
Parameters:
Source:
- src/core/Group.js line 1535 + src/core/Group.js line 1535 @@ -13249,10 +13249,12 @@

Find children matching a certain predicate.

For example:

-
var healthyList = Group.filter(function(child, index, children) {
-    return child.health > 10 ? true : false;
+
var healthyList = Group.filter(function(child, index, children) {
+    return child.health > 10 ? true : false;
 }, true);
-healthyList.callAll('attack');

Note: Currently this will skip any children which are Groups themselves.

+healthyList.callAll('attack'); +
+

Note: Currently this will skip any children which are Groups themselves.

@@ -13412,7 +13414,7 @@

Parameters:
Source:
- src/core/Group.js line 1875 + src/core/Group.js line 1875 @@ -13477,7 +13479,9 @@

Call a function on each child in this group.

Additional arguments for the callback can be specified after the checkExists parameter. For example,

-
Group.forEach(awardBonusGold, this, true, 100, 500)

would invoke awardBonusGold function with the parameters (child, 100, 500).

+
Group.forEach(awardBonusGold, this, true, 100, 500)
+
+

would invoke awardBonusGold function with the parameters (child, 100, 500).

Note: This check will skip any children which are Groups themselves.

@@ -13716,7 +13720,7 @@

Parameters:
Source:
- src/core/Group.js line 1916 + src/core/Group.js line 1916 @@ -13954,7 +13958,7 @@
Parameters:
Source:
- src/core/Group.js line 2004 + src/core/Group.js line 2004 @@ -14192,7 +14196,7 @@
Parameters:
Source:
- src/core/Group.js line 2033 + src/core/Group.js line 2033 @@ -14430,7 +14434,7 @@
Parameters:
Source:
- src/core/Group.js line 1975 + src/core/Group.js line 1975 @@ -14675,7 +14679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -14983,7 +14987,7 @@
Parameters:
Source:
- src/core/Group.js line 2644 + src/core/Group.js line 2644 @@ -15152,7 +15156,7 @@
Parameters:
Source:
- src/core/Group.js line 535 + src/core/Group.js line 535 @@ -15273,7 +15277,7 @@

Source:
- src/core/Group.js line 2451 + src/core/Group.js line 2451 @@ -15455,7 +15459,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -15624,7 +15628,7 @@
Parameters:
Source:
- src/core/Group.js line 1089 + src/core/Group.js line 1089 @@ -15791,7 +15795,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -15958,7 +15962,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -16209,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2469 + src/core/Group.js line 2469 @@ -16400,7 +16404,7 @@
Parameters:
Source:
- src/core/Group.js line 2281 + src/core/Group.js line 2281 @@ -16759,7 +16763,7 @@
Parameters:
Source:
- src/core/Group.js line 2331 + src/core/Group.js line 2331 @@ -17118,7 +17122,7 @@
Parameters:
Source:
- src/core/Group.js line 2362 + src/core/Group.js line 2362 @@ -17516,7 +17520,7 @@
Parameters:
Source:
- src/core/Group.js line 2296 + src/core/Group.js line 2296 @@ -17767,7 +17771,7 @@
Parameters:
Source:
- src/core/Group.js line 2514 + src/core/Group.js line 2514 @@ -17934,7 +17938,7 @@
Parameters:
Source:
- src/core/Group.js line 1075 + src/core/Group.js line 1075 @@ -18051,7 +18055,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -18278,7 +18282,7 @@
Parameters:
Source:
- src/core/Group.js line 2600 + src/core/Group.js line 2600 @@ -18506,7 +18510,7 @@
Parameters:
Source:
- src/core/Group.js line 2623 + src/core/Group.js line 2623 @@ -18624,7 +18628,7 @@

Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -18816,7 +18820,7 @@
Parameters:
Source:
- src/core/Group.js line 1145 + src/core/Group.js line 1145 @@ -18885,12 +18889,12 @@

The result depends on the returnType:

  • RETURN_TOTAL: - The callback, if any, is applied to all matching children. The number of matched children is returned.
  • +The callback, if any, is applied to all matching children. The number of matched children is returned.
  • RETURN_NONE: - The callback, if any, is applied to all matching children. No value is returned.
  • +The callback, if any, is applied to all matching children. No value is returned.
  • RETURN_CHILD: - The callback, if any, is applied to the first matching child and the first matched child is returned. - If there is no matching child then null is returned.
  • +The callback, if any, is applied to the first matching child and the first matched child is returned. +If there is no matching child then null is returned.

If args is specified it must be an array. The matched child will be assigned to the first element and the entire array will be applied to the callback function.

@@ -19203,7 +19207,7 @@

Parameters:
Source:
- src/core/Group.js line 2185 + src/core/Group.js line 2185 @@ -19320,7 +19324,7 @@

Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -19413,7 +19417,7 @@

Source:
- src/core/Group.js line 1567 + src/core/Group.js line 1567 @@ -19612,7 +19616,7 @@
Parameters:
Source:
- src/core/Group.js line 2740 + src/core/Group.js line 2740 @@ -19779,7 +19783,7 @@
Parameters:
Source:
- src/core/Group.js line 1012 + src/core/Group.js line 1012 @@ -19946,7 +19950,7 @@
Parameters:
Source:
- src/core/Group.js line 987 + src/core/Group.js line 987 @@ -20186,7 +20190,7 @@
Parameters:
Source:
- src/core/Group.js line 1517 + src/core/Group.js line 1517 @@ -20280,7 +20284,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -20397,7 +20401,7 @@

Source:
- src/core/Group.js line 1853 + src/core/Group.js line 1853 @@ -20490,7 +20494,7 @@

Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -20584,7 +20588,7 @@

Source:
- src/core/Group.js line 888 + src/core/Group.js line 888 @@ -20849,7 +20853,7 @@
Parameters:
Source:
- src/core/Group.js line 2691 + src/core/Group.js line 2691 @@ -21119,7 +21123,7 @@
Parameters:
Source:
- src/core/Group.js line 2770 + src/core/Group.js line 2770 @@ -21396,7 +21400,7 @@
Parameters:
Source:
- src/core/Group.js line 2819 + src/core/Group.js line 2819 @@ -21539,7 +21543,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -21706,7 +21710,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -21897,7 +21901,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -22041,7 +22045,7 @@
Parameters:
Source:
- src/core/Group.js line 473 + src/core/Group.js line 473 @@ -22234,7 +22238,7 @@
Parameters:
Source:
- src/core/Group.js line 1105 + src/core/Group.js line 1105 @@ -22588,7 +22592,7 @@
Parameters:
Source:
- src/core/Group.js line 1605 + src/core/Group.js line 1605 @@ -22894,7 +22898,7 @@
Parameters:
Source:
- src/core/Group.js line 2393 + src/core/Group.js line 2393 @@ -23082,7 +23086,7 @@
Parameters:
Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -23190,7 +23194,7 @@

Source:
- src/core/FlexLayer.js line 94 + src/core/FlexLayer.js line 94 @@ -23284,7 +23288,7 @@

Source:
- src/core/Group.js line 1060 + src/core/Group.js line 1060 @@ -23377,7 +23381,7 @@

Source:
- src/core/Group.js line 1579 + src/core/Group.js line 1579 @@ -23470,7 +23474,7 @@

Source:
- src/core/Group.js line 1593 + src/core/Group.js line 1593 @@ -23673,7 +23677,7 @@
Parameters:
Source:
- src/core/Group.js line 2875 + src/core/Group.js line 2875 @@ -23816,7 +23820,7 @@
Parameters:
Source:
- src/core/Group.js line 961 + src/core/Group.js line 961 @@ -24232,7 +24236,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -24614,7 +24618,7 @@
Parameters:
Source:
- src/core/Group.js line 1323 + src/core/Group.js line 1323 @@ -24972,7 +24976,7 @@
Parameters:
Source:
- src/core/Group.js line 1363 + src/core/Group.js line 1363 @@ -25139,7 +25143,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -25458,7 +25462,7 @@
Parameters:
Source:
- src/core/Group.js line 1181 + src/core/Group.js line 1181 @@ -25576,7 +25580,7 @@

Source:
- src/core/Group.js line 2896 + src/core/Group.js line 2896 @@ -25783,7 +25787,7 @@
Parameters:
Source:
- src/core/Group.js line 2062 + src/core/Group.js line 2062 @@ -25999,7 +26003,7 @@
Parameters:
Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -26167,7 +26171,7 @@
Parameters:
Source:
- src/core/Group.js line 918 + src/core/Group.js line 918 @@ -26334,7 +26338,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -26477,7 +26481,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -26690,7 +26694,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -26810,7 +26814,7 @@

Source:
- src/core/Group.js line 1823 + src/core/Group.js line 1823 @@ -26903,7 +26907,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -27092,7 +27096,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -27212,7 +27216,7 @@

Source:
- src/core/Group.js line 685 + src/core/Group.js line 685 @@ -27403,7 +27407,7 @@
Parameters:
Source:
- src/core/Group.js line 1037 + src/core/Group.js line 1037 @@ -27446,9 +27450,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -27463,9 +27467,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -27494,7 +27498,7 @@
Parameters:
- + diff --git a/docs/Phaser.Frame.html b/docs/Phaser.Frame.html index 94a67b902..918db1107 100644 --- a/docs/Phaser.Frame.html +++ b/docs/Phaser.Frame.html @@ -6,7 +6,7 @@ Phaser CE Class: Frame - + @@ -350,7 +350,7 @@
Parameters:
Source:
- src/animation/Frame.js line 19 + src/animation/Frame.js line 19 @@ -455,7 +455,7 @@
Type:
Source:
- src/animation/Frame.js line 126 + src/animation/Frame.js line 126 @@ -532,7 +532,7 @@
Type:
Source:
- src/animation/Frame.js line 60 + src/animation/Frame.js line 60 @@ -609,7 +609,7 @@
Type:
Source:
- src/animation/Frame.js line 65 + src/animation/Frame.js line 65 @@ -686,7 +686,7 @@
Type:
Source:
- src/animation/Frame.js line 70 + src/animation/Frame.js line 70 @@ -763,7 +763,7 @@
Type:
Source:
- src/animation/Frame.js line 45 + src/animation/Frame.js line 45 @@ -840,7 +840,7 @@
Type:
Source:
- src/animation/Frame.js line 25 + src/animation/Frame.js line 25 @@ -917,7 +917,7 @@
Type:
Source:
- src/animation/Frame.js line 55 + src/animation/Frame.js line 55 @@ -994,7 +994,7 @@
Type:
Source:
- src/animation/Frame.js line 121 + src/animation/Frame.js line 121 @@ -1071,7 +1071,7 @@
Type:
Source:
- src/animation/Frame.js line 76 + src/animation/Frame.js line 76 @@ -1148,7 +1148,7 @@
Type:
Source:
- src/animation/Frame.js line 92 + src/animation/Frame.js line 92 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/animation/Frame.js line 87 + src/animation/Frame.js line 87 @@ -1302,7 +1302,7 @@
Type:
Source:
- src/animation/Frame.js line 116 + src/animation/Frame.js line 116 @@ -1379,7 +1379,7 @@
Type:
Source:
- src/animation/Frame.js line 110 + src/animation/Frame.js line 110 @@ -1456,7 +1456,7 @@
Type:
Source:
- src/animation/Frame.js line 98 + src/animation/Frame.js line 98 @@ -1533,7 +1533,7 @@
Type:
Source:
- src/animation/Frame.js line 104 + src/animation/Frame.js line 104 @@ -1610,7 +1610,7 @@
Type:
Source:
- src/animation/Frame.js line 82 + src/animation/Frame.js line 82 @@ -1687,7 +1687,7 @@
Type:
Source:
- src/animation/Frame.js line 40 + src/animation/Frame.js line 40 @@ -1764,7 +1764,7 @@
Type:
Source:
- src/animation/Frame.js line 30 + src/animation/Frame.js line 30 @@ -1841,7 +1841,7 @@
Type:
Source:
- src/animation/Frame.js line 35 + src/animation/Frame.js line 35 @@ -1920,7 +1920,7 @@

Source:
- src/animation/Frame.js line 185 + src/animation/Frame.js line 185 @@ -2090,7 +2090,7 @@
Parameters:
Source:
- src/animation/Frame.js line 209 + src/animation/Frame.js line 209 @@ -2272,7 +2272,7 @@
Parameters:
Source:
- src/animation/Frame.js line 132 + src/animation/Frame.js line 132 @@ -2550,7 +2550,7 @@
Parameters:
Source:
- src/animation/Frame.js line 154 + src/animation/Frame.js line 154 @@ -2593,9 +2593,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2610,9 +2610,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2641,7 +2641,7 @@
Parameters:
- + diff --git a/docs/Phaser.FrameData.html b/docs/Phaser.FrameData.html index 409ee8f1b..009f354da 100644 --- a/docs/Phaser.FrameData.html +++ b/docs/Phaser.FrameData.html @@ -6,7 +6,7 @@ Phaser CE Class: FrameData - + @@ -180,7 +180,7 @@

Source:
- src/animation/FrameData.js line 13 + src/animation/FrameData.js line 13 @@ -285,7 +285,7 @@
Type:
Source:
- src/animation/FrameData.js line 275 + src/animation/FrameData.js line 275 @@ -413,7 +413,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 32 + src/animation/FrameData.js line 32 @@ -571,7 +571,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 93 + src/animation/FrameData.js line 93 @@ -679,7 +679,7 @@

Source:
- src/animation/FrameData.js line 112 + src/animation/FrameData.js line 112 @@ -787,7 +787,7 @@

Source:
- src/animation/FrameData.js line 258 + src/animation/FrameData.js line 258 @@ -921,7 +921,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 55 + src/animation/FrameData.js line 55 @@ -1079,7 +1079,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 74 + src/animation/FrameData.js line 74 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 212 + src/animation/FrameData.js line 212 @@ -1568,7 +1568,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 141 + src/animation/FrameData.js line 141 @@ -1823,7 +1823,7 @@
Parameters:
Source:
- src/animation/FrameData.js line 164 + src/animation/FrameData.js line 164 @@ -1890,9 +1890,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1907,9 +1907,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1938,7 +1938,7 @@
Returns:
- + diff --git a/docs/Phaser.Game.html b/docs/Phaser.Game.html index fdfd2174c..0084c4411 100644 --- a/docs/Phaser.Game.html +++ b/docs/Phaser.Game.html @@ -6,7 +6,7 @@ Phaser CE Class: Game - + @@ -146,14 +146,18 @@

of Phaser directly, without having to look after your own references.

In its most simplest form, a Phaser game can be created by providing the arguments to the constructor:

-
var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create });

In the example above it is passing in a State object directly. You can also use the State +

var game = new Phaser.Game(800, 600, Phaser.AUTO, '', { preload: preload, create: create });
+
+

In the example above it is passing in a State object directly. You can also use the State Manager to do this:

var game = new Phaser.Game(800, 600, Phaser.AUTO);
 game.state.add('Boot', BasicGame.Boot);
 game.state.add('Preloader', BasicGame.Preloader);
 game.state.add('MainMenu', BasicGame.MainMenu);
 game.state.add('Game', BasicGame.Game);
-game.state.start('Boot');

In the example above, 4 States are added to the State Manager, and Phaser is told to +game.state.start('Boot'); + +

In the example above, 4 States are added to the State Manager, and Phaser is told to start running the Boot state when it has finished initializing. There are example project templates you can use in the Phaser GitHub repo, inside the resources folder.

Instead of specifying arguments you can also pass a single object instead:

@@ -170,7 +174,8 @@

} } -var game = new Phaser.Game(config); +var game = new Phaser.Game(config); + @@ -577,7 +582,7 @@

Parameters:
Source:
- src/core/Game.js line 73 + src/core/Game.js line 73 @@ -682,7 +687,7 @@
Type:
Source:
- src/core/Game.js line 223 + src/core/Game.js line 223 @@ -766,7 +771,7 @@
Type:
Source:
- src/core/Game.js line 153 + src/core/Game.js line 153 @@ -843,7 +848,7 @@
Type:
Source:
- src/core/Game.js line 233 + src/core/Game.js line 233 @@ -920,7 +925,7 @@
Type:
Source:
- src/core/Game.js line 308 + src/core/Game.js line 308 @@ -997,7 +1002,7 @@
Type:
Source:
- src/core/Game.js line 313 + src/core/Game.js line 313 @@ -1085,7 +1090,7 @@
Type:
Source:
- src/core/Game.js line 183 + src/core/Game.js line 183 @@ -1162,7 +1167,7 @@
Type:
Source:
- src/core/Game.js line 85 + src/core/Game.js line 85 @@ -1239,7 +1244,7 @@
Type:
Source:
- src/core/Game.js line 318 + src/core/Game.js line 318 @@ -1316,7 +1321,7 @@
Type:
Source:
- src/core/Game.js line 333 + src/core/Game.js line 333 @@ -1394,7 +1399,7 @@
Type:
Source:
- src/core/Game.js line 409 + src/core/Game.js line 409 @@ -1471,7 +1476,7 @@
Type:
Source:
- src/core/Game.js line 323 + src/core/Game.js line 323 @@ -1548,7 +1553,7 @@
Type:
Source:
- src/core/Game.js line 303 + src/core/Game.js line 303 @@ -1625,7 +1630,7 @@
Type:
Source:
- src/core/Game.js line 470 + src/core/Game.js line 470 @@ -1702,7 +1707,7 @@
Type:
Source:
- src/core/Game.js line 465 + src/core/Game.js line 465 @@ -1779,7 +1784,7 @@
Type:
Source:
- src/core/Game.js line 460 + src/core/Game.js line 460 @@ -1857,7 +1862,7 @@
Type:
Source:
- src/core/Game.js line 455 + src/core/Game.js line 455 @@ -1942,7 +1947,7 @@
Type:
Source:
- src/core/Game.js line 119 + src/core/Game.js line 119 @@ -2019,7 +2024,7 @@
Type:
Source:
- src/core/Game.js line 80 + src/core/Game.js line 80 @@ -2096,7 +2101,7 @@
Type:
Source:
- src/core/Game.js line 238 + src/core/Game.js line 238 @@ -2173,7 +2178,7 @@
Type:
Source:
- src/core/Game.js line 206 + src/core/Game.js line 206 @@ -2250,7 +2255,7 @@
Type:
Source:
- src/core/Game.js line 212 + src/core/Game.js line 212 @@ -2327,7 +2332,7 @@
Type:
Source:
- src/core/Game.js line 243 + src/core/Game.js line 243 @@ -2406,7 +2411,7 @@
Type:
Source:
- src/core/Game.js line 342 + src/core/Game.js line 342 @@ -2483,7 +2488,7 @@
Type:
Source:
- src/core/Game.js line 228 + src/core/Game.js line 228 @@ -2560,7 +2565,7 @@
Type:
Source:
- src/core/Game.js line 248 + src/core/Game.js line 248 @@ -2641,7 +2646,7 @@
Type:
Source:
- src/core/Game.js line 166 + src/core/Game.js line 166 @@ -2718,7 +2723,7 @@
Type:
Source:
- src/core/Game.js line 253 + src/core/Game.js line 253 @@ -2795,7 +2800,7 @@
Type:
Source:
- src/core/Game.js line 384 + src/core/Game.js line 384 @@ -2872,7 +2877,7 @@
Type:
Source:
- src/core/Game.js line 389 + src/core/Game.js line 389 @@ -2949,7 +2954,7 @@
Type:
Source:
- src/core/Game.js line 374 + src/core/Game.js line 374 @@ -3026,7 +3031,7 @@
Type:
Source:
- src/core/Game.js line 379 + src/core/Game.js line 379 @@ -3106,7 +3111,7 @@
Type:
Source:
- src/core/Game.js line 97 + src/core/Game.js line 97 @@ -3183,7 +3188,7 @@
Type:
Source:
- src/core/Game.js line 328 + src/core/Game.js line 328 @@ -3261,7 +3266,7 @@
Type:
Source:
- src/core/Game.js line 1430 + src/core/Game.js line 1430 @@ -3338,7 +3343,7 @@
Type:
Source:
- src/core/Game.js line 348 + src/core/Game.js line 348 @@ -3415,7 +3420,7 @@
Type:
Source:
- src/core/Game.js line 362 + src/core/Game.js line 362 @@ -3492,7 +3497,7 @@
Type:
Source:
- src/core/Game.js line 288 + src/core/Game.js line 288 @@ -3569,7 +3574,7 @@
Type:
Source:
- src/core/Game.js line 90 + src/core/Game.js line 90 @@ -3646,7 +3651,7 @@
Type:
Source:
- src/core/Game.js line 293 + src/core/Game.js line 293 @@ -3723,7 +3728,7 @@
Type:
Source:
- src/core/Game.js line 476 + src/core/Game.js line 476 @@ -3800,7 +3805,7 @@
Type:
Source:
- src/core/Game.js line 172 + src/core/Game.js line 172 @@ -3877,7 +3882,7 @@
Type:
Source:
- src/core/Game.js line 218 + src/core/Game.js line 218 @@ -3957,7 +3962,7 @@
Type:
Source:
- src/core/Game.js line 189 + src/core/Game.js line 189 @@ -4076,7 +4081,7 @@
Properties:
Source:
- src/core/Game.js line 423 + src/core/Game.js line 423 @@ -4153,7 +4158,7 @@
Type:
Source:
- src/core/Game.js line 195 + src/core/Game.js line 195 @@ -4237,7 +4242,7 @@
Type:
Source:
- src/core/Game.js line 128 + src/core/Game.js line 128 @@ -4314,7 +4319,7 @@
Type:
Source:
- src/core/Game.js line 298 + src/core/Game.js line 298 @@ -4391,7 +4396,7 @@
Type:
Source:
- src/core/Game.js line 258 + src/core/Game.js line 258 @@ -4468,7 +4473,7 @@
Type:
Source:
- src/core/Game.js line 263 + src/core/Game.js line 263 @@ -4545,7 +4550,7 @@
Type:
Source:
- src/core/Game.js line 268 + src/core/Game.js line 268 @@ -4622,7 +4627,7 @@
Type:
Source:
- src/core/Game.js line 200 + src/core/Game.js line 200 @@ -4699,7 +4704,7 @@
Type:
Source:
- src/core/Game.js line 369 + src/core/Game.js line 369 @@ -4776,7 +4781,7 @@
Type:
Source:
- src/core/Game.js line 355 + src/core/Game.js line 355 @@ -4853,7 +4858,7 @@
Type:
Source:
- src/core/Game.js line 273 + src/core/Game.js line 273 @@ -4930,7 +4935,7 @@
Type:
Source:
- src/core/Game.js line 146 + src/core/Game.js line 146 @@ -5007,7 +5012,7 @@
Type:
Source:
- src/core/Game.js line 278 + src/core/Game.js line 278 @@ -5084,7 +5089,7 @@
Type:
Source:
- src/core/Game.js line 416 + src/core/Game.js line 416 @@ -5169,7 +5174,7 @@
Type:
Source:
- src/core/Game.js line 108 + src/core/Game.js line 108 @@ -5246,7 +5251,7 @@
Type:
Source:
- src/core/Game.js line 283 + src/core/Game.js line 283 @@ -5324,7 +5329,7 @@

Source:
- src/core/Game.js line 680 + src/core/Game.js line 680 @@ -5412,7 +5417,7 @@

Source:
- src/core/Game.js line 1242 + src/core/Game.js line 1242 @@ -5496,7 +5501,7 @@

Source:
- src/core/Game.js line 1215 + src/core/Game.js line 1215 @@ -5581,7 +5586,7 @@

Source:
- src/core/Game.js line 1200 + src/core/Game.js line 1200 @@ -5715,7 +5720,7 @@
Parameters:
Source:
- src/core/Game.js line 1387 + src/core/Game.js line 1387 @@ -5849,7 +5854,7 @@
Parameters:
Source:
- src/core/Game.js line 1368 + src/core/Game.js line 1368 @@ -5983,7 +5988,7 @@
Parameters:
Source:
- src/core/Game.js line 1300 + src/core/Game.js line 1300 @@ -6117,7 +6122,7 @@
Parameters:
Source:
- src/core/Game.js line 1333 + src/core/Game.js line 1333 @@ -6201,7 +6206,7 @@

Source:
- src/core/Game.js line 584 + src/core/Game.js line 584 @@ -6285,7 +6290,7 @@

Source:
- src/core/Game.js line 849 + src/core/Game.js line 849 @@ -6369,7 +6374,7 @@

Source:
- src/core/Game.js line 781 + src/core/Game.js line 781 @@ -6454,7 +6459,7 @@

Source:
- src/core/Game.js line 1228 + src/core/Game.js line 1228 @@ -6588,7 +6593,7 @@
Parameters:
Source:
- src/core/Game.js line 979 + src/core/Game.js line 979 @@ -6722,7 +6727,7 @@
Parameters:
Source:
- src/core/Game.js line 1111 + src/core/Game.js line 1111 @@ -6864,7 +6869,7 @@
Parameters:
Source:
- src/core/Game.js line 1163 + src/core/Game.js line 1163 @@ -6907,9 +6912,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6924,9 +6929,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6955,7 +6960,7 @@
Parameters:
- + diff --git a/docs/Phaser.GameObjectCreator.html b/docs/Phaser.GameObjectCreator.html index 5803db1c4..994b70a0b 100644 --- a/docs/Phaser.GameObjectCreator.html +++ b/docs/Phaser.GameObjectCreator.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectCreator - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 15 + src/gameobjects/GameObjectCreator.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 22 + src/gameobjects/GameObjectCreator.js line 22 @@ -413,7 +413,7 @@
Type:
Source:
- src/gameobjects/GameObjectCreator.js line 28 + src/gameobjects/GameObjectCreator.js line 28 @@ -677,7 +677,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 124 + src/gameobjects/GameObjectCreator.js line 124 @@ -835,7 +835,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 141 + src/gameobjects/GameObjectCreator.js line 141 @@ -1134,7 +1134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 398 + src/gameobjects/GameObjectCreator.js line 398 @@ -1199,10 +1199,10 @@

Create a new BitmapText object.

BitmapText objects work by taking a texture file and an XML file that describes the font structure. -It then generates a new Sprite object for each letter of the text, proportionally spaced out and aligned to +It then generates a new Sprite object for each letter of the text, proportionally spaced out and aligned to match the font structure.

-

BitmapText objects are less flexible than Text objects, in that they have less features such as shadows, fills and the ability -to use Web Fonts. However you trade this flexibility for pure rendering speed. You can also create visually compelling BitmapTexts by +

BitmapText objects are less flexible than Text objects, in that they have less features such as shadows, fills and the ability +to use Web Fonts. However you trade this flexibility for pure rendering speed. You can also create visually compelling BitmapTexts by processing the font texture in an image editor first, applying fills and any other effects required.

To create multi-line text insert \r, \n or \r\n escape codes into the text string.

To create a BitmapText data files you can use:

@@ -1511,7 +1511,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 313 + src/gameobjects/GameObjectCreator.js line 313 @@ -1965,7 +1965,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 227 + src/gameobjects/GameObjectCreator.js line 227 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 264 + src/gameobjects/GameObjectCreator.js line 264 @@ -2408,7 +2408,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 427 + src/gameobjects/GameObjectCreator.js line 427 @@ -2626,7 +2626,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 249 + src/gameobjects/GameObjectCreator.js line 249 @@ -2962,7 +2962,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 87 + src/gameobjects/GameObjectCreator.js line 87 @@ -3239,7 +3239,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 34 + src/gameobjects/GameObjectCreator.js line 34 @@ -3537,7 +3537,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 371 + src/gameobjects/GameObjectCreator.js line 371 @@ -4021,7 +4021,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 284 + src/gameobjects/GameObjectCreator.js line 284 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 191 + src/gameobjects/GameObjectCreator.js line 191 @@ -4605,7 +4605,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 155 + src/gameobjects/GameObjectCreator.js line 155 @@ -4880,7 +4880,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 54 + src/gameobjects/GameObjectCreator.js line 54 @@ -5134,7 +5134,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 105 + src/gameobjects/GameObjectCreator.js line 105 @@ -5364,7 +5364,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 210 + src/gameobjects/GameObjectCreator.js line 210 @@ -5705,7 +5705,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 348 + src/gameobjects/GameObjectCreator.js line 348 @@ -5968,7 +5968,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 172 + src/gameobjects/GameObjectCreator.js line 172 @@ -6127,7 +6127,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectCreator.js line 71 + src/gameobjects/GameObjectCreator.js line 71 @@ -6194,9 +6194,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6211,9 +6211,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6242,7 +6242,7 @@
Returns:
- + diff --git a/docs/Phaser.GameObjectFactory.html b/docs/Phaser.GameObjectFactory.html index 37938c87b..f7fd7ec91 100644 --- a/docs/Phaser.GameObjectFactory.html +++ b/docs/Phaser.GameObjectFactory.html @@ -6,7 +6,7 @@ Phaser CE Class: GameObjectFactory - + @@ -232,7 +232,7 @@

Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 17 + src/gameobjects/GameObjectFactory.js line 17 @@ -337,7 +337,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 24 + src/gameobjects/GameObjectFactory.js line 24 @@ -414,7 +414,7 @@
Type:
Source:
- src/gameobjects/GameObjectFactory.js line 30 + src/gameobjects/GameObjectFactory.js line 30 @@ -678,7 +678,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 249 + src/gameobjects/GameObjectFactory.js line 249 @@ -836,7 +836,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 283 + src/gameobjects/GameObjectFactory.js line 283 @@ -1135,7 +1135,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 559 + src/gameobjects/GameObjectFactory.js line 559 @@ -1513,7 +1513,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 454 + src/gameobjects/GameObjectFactory.js line 454 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 362 + src/gameobjects/GameObjectFactory.js line 362 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 136 + src/gameobjects/GameObjectFactory.js line 136 @@ -2725,7 +2725,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 405 + src/gameobjects/GameObjectFactory.js line 405 @@ -2883,7 +2883,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 36 + src/gameobjects/GameObjectFactory.js line 36 @@ -3065,7 +3065,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 588 + src/gameobjects/GameObjectFactory.js line 588 @@ -3324,7 +3324,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 387 + src/gameobjects/GameObjectFactory.js line 387 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 189 + src/gameobjects/GameObjectFactory.js line 189 @@ -4013,7 +4013,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 87 + src/gameobjects/GameObjectFactory.js line 87 @@ -4311,7 +4311,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 207 + src/gameobjects/GameObjectFactory.js line 207 @@ -4517,7 +4517,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 609 + src/gameobjects/GameObjectFactory.js line 609 @@ -4815,7 +4815,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 515 + src/gameobjects/GameObjectFactory.js line 515 @@ -5299,7 +5299,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 425 + src/gameobjects/GameObjectFactory.js line 425 @@ -5686,7 +5686,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 319 + src/gameobjects/GameObjectFactory.js line 319 @@ -5980,7 +5980,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 266 + src/gameobjects/GameObjectFactory.js line 266 @@ -6333,7 +6333,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 112 + src/gameobjects/GameObjectFactory.js line 112 @@ -6592,7 +6592,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 227 + src/gameobjects/GameObjectFactory.js line 227 @@ -6929,7 +6929,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 342 + src/gameobjects/GameObjectFactory.js line 342 @@ -7270,7 +7270,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 491 + src/gameobjects/GameObjectFactory.js line 491 @@ -7646,7 +7646,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 297 + src/gameobjects/GameObjectFactory.js line 297 @@ -7805,7 +7805,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 173 + src/gameobjects/GameObjectFactory.js line 173 @@ -8030,7 +8030,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 542 + src/gameobjects/GameObjectFactory.js line 542 @@ -8382,7 +8382,7 @@
Parameters:
Source:
- src/gameobjects/GameObjectFactory.js line 50 + src/gameobjects/GameObjectFactory.js line 50 @@ -8449,9 +8449,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -8466,9 +8466,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -8497,7 +8497,7 @@
Returns:
- + diff --git a/docs/Phaser.Gamepad.html b/docs/Phaser.Gamepad.html index 6d957f673..8ae391ce1 100644 --- a/docs/Phaser.Gamepad.html +++ b/docs/Phaser.Gamepad.html @@ -6,7 +6,7 @@ Phaser CE Class: Gamepad - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 21 + src/input/Gamepad.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Gamepad.js line 512 + src/input/Gamepad.js line 512 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Gamepad.js line 81 + src/input/Gamepad.js line 81 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Gamepad.js line 53 + src/input/Gamepad.js line 53 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Gamepad.js line 27 + src/input/Gamepad.js line 27 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Gamepad.js line 106 + src/input/Gamepad.js line 106 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Gamepad.js line 86 + src/input/Gamepad.js line 86 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Gamepad.js line 91 + src/input/Gamepad.js line 91 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Gamepad.js line 96 + src/input/Gamepad.js line 96 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Gamepad.js line 111 + src/input/Gamepad.js line 111 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Gamepad.js line 101 + src/input/Gamepad.js line 101 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Gamepad.js line 557 + src/input/Gamepad.js line 557 @@ -1194,7 +1194,7 @@
Type:
Source:
- src/input/Gamepad.js line 572 + src/input/Gamepad.js line 572 @@ -1271,7 +1271,7 @@
Type:
Source:
- src/input/Gamepad.js line 587 + src/input/Gamepad.js line 587 @@ -1348,7 +1348,7 @@
Type:
Source:
- src/input/Gamepad.js line 602 + src/input/Gamepad.js line 602 @@ -1425,7 +1425,7 @@
Type:
Source:
- src/input/Gamepad.js line 542 + src/input/Gamepad.js line 542 @@ -1502,7 +1502,7 @@
Type:
Source:
- src/input/Gamepad.js line 527 + src/input/Gamepad.js line 527 @@ -1655,7 +1655,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 140 + src/input/Gamepad.js line 140 @@ -1739,7 +1739,7 @@

Source:
- src/input/Gamepad.js line 491 + src/input/Gamepad.js line 491 @@ -1873,7 +1873,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 471 + src/input/Gamepad.js line 471 @@ -1936,7 +1936,7 @@

-

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

+

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

@@ -2044,7 +2044,7 @@

Parameters:
-

The duration below which the button is considered as being just released.

+

The duration below which the button is considered as being just pressed.

@@ -2087,7 +2087,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 449 + src/input/Gamepad.js line 427 @@ -2113,7 +2113,7 @@
Returns:
-

True if the button is just released otherwise false.

+

True if the button is just pressed otherwise false.

@@ -2150,7 +2150,7 @@

-

Returns the "just pressed" state of a button from ANY gamepad connected. Just pressed is considered true if the button was pressed down within the duration given (default 250ms).

+

Returns the "just released" state of a button from ANY gamepad connected. Just released is considered as being true if the button was released within the duration given (default 250ms).

@@ -2258,7 +2258,7 @@

Parameters:
-

The duration below which the button is considered as being just pressed.

+

The duration below which the button is considered as being just released.

@@ -2301,7 +2301,7 @@
Parameters:
Source:
- src/input/Gamepad.js line 427 + src/input/Gamepad.js line 449 @@ -2327,7 +2327,7 @@
Returns:
-

True if the button is just pressed otherwise false.

+

True if the button is just released otherwise false.

@@ -2409,7 +2409,7 @@

Source:
- src/input/Gamepad.js line 411 + src/input/Gamepad.js line 411 @@ -2493,7 +2493,7 @@

Source:
- src/input/Gamepad.js line 382 + src/input/Gamepad.js line 382 @@ -2578,7 +2578,7 @@

Source:
- src/input/Gamepad.js line 164 + src/input/Gamepad.js line 164 @@ -2662,7 +2662,7 @@

Source:
- src/input/Gamepad.js line 396 + src/input/Gamepad.js line 396 @@ -2746,7 +2746,7 @@

Source:
- src/input/Gamepad.js line 238 + src/input/Gamepad.js line 238 @@ -2789,9 +2789,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2806,9 +2806,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2837,7 +2837,7 @@

- + diff --git a/docs/Phaser.Graphics.html b/docs/Phaser.Graphics.html index b17a063fa..c0e910453 100644 --- a/docs/Phaser.Graphics.html +++ b/docs/Phaser.Graphics.html @@ -6,7 +6,7 @@ Phaser CE Class: Graphics - + @@ -140,7 +140,9 @@

be empty. To 'draw' to it you first specify a lineStyle or fillStyle (or both), and then draw a shape. For example:

graphics.beginFill(0xff0000);
 graphics.drawCircle(50, 50, 100);
-graphics.endFill();

This will draw a circle shape to the Graphics object, with a diameter of 100, located at x: 50, y: 50.

+graphics.endFill(); + +

This will draw a circle shape to the Graphics object, with a diameter of 100, located at x: 50, y: 50.

When a Graphics object is rendered it will render differently based on if the game is running under Canvas or WebGL. Under Canvas it will use the HTML Canvas context drawing operations to draw the path. Under WebGL the graphics data is decomposed into polygons. Both of these are expensive processes, especially with complex shapes.

@@ -343,7 +345,7 @@

Parameters:
Source:
- src/gameobjects/Graphics.js line 54 + src/gameobjects/Graphics.js line 54 @@ -501,7 +503,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -597,7 +599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -625,9 +627,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -688,7 +690,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -775,7 +777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -872,7 +874,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -956,7 +958,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 132 + src/gameobjects/Graphics.js line 132 @@ -982,13 +984,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -1059,7 +1061,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -1146,7 +1148,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1223,7 +1225,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 166 + src/gameobjects/Graphics.js line 166 @@ -1316,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1403,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1490,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1577,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1603,7 +1605,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -1669,7 +1671,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -1755,7 +1757,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1841,7 +1843,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1937,7 +1939,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2023,7 +2025,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2049,7 +2051,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2110,7 +2112,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2197,7 +2199,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2295,7 +2297,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 309 + src/gameobjects/components/Core.js line 282 @@ -2372,7 +2374,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 88 + src/gameobjects/Graphics.js line 88 @@ -2458,7 +2460,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2549,7 +2551,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2575,11 +2577,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2642,7 +2644,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -2729,7 +2731,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -2815,7 +2817,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -2901,7 +2903,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -2997,7 +2999,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3085,7 +3087,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3172,7 +3174,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3263,7 +3265,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3356,7 +3358,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3442,7 +3444,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -3519,7 +3521,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 158 + src/gameobjects/Graphics.js line 158 @@ -3621,7 +3623,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -3708,7 +3710,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -3798,7 +3800,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -3882,7 +3884,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 105 + src/gameobjects/Graphics.js line 105 @@ -3959,7 +3961,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 96 + src/gameobjects/Graphics.js line 96 @@ -4048,7 +4050,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4135,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4223,7 +4225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4311,7 +4313,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4397,7 +4399,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -4484,7 +4486,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -4573,7 +4575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4662,7 +4664,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -4739,7 +4741,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 70 + src/gameobjects/Graphics.js line 70 @@ -4826,7 +4828,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4914,7 +4916,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -5000,7 +5002,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -5086,7 +5088,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -5178,7 +5180,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -5265,7 +5267,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -5352,7 +5354,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -5441,7 +5443,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -5530,7 +5532,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -5614,7 +5616,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 123 + src/gameobjects/Graphics.js line 123 @@ -5701,7 +5703,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -5778,7 +5780,7 @@
Type:
Source:
- src/gameobjects/Graphics.js line 64 + src/gameobjects/Graphics.js line 64 @@ -5877,7 +5879,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -5963,7 +5965,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -6051,7 +6053,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -6148,7 +6150,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -6239,7 +6241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -6330,7 +6332,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -6421,7 +6423,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -6517,7 +6519,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -6603,7 +6605,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -6695,7 +6697,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -6787,7 +6789,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -6876,7 +6878,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -7013,7 +7015,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7204,7 +7206,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -7547,7 +7549,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -7891,7 +7893,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -8193,7 +8195,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 672 + src/gameobjects/Graphics.js line 672 @@ -8444,7 +8446,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 600 + src/gameobjects/Graphics.js line 600 @@ -8623,7 +8625,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 760 + src/gameobjects/Graphics.js line 760 @@ -8897,7 +8899,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 539 + src/gameobjects/Graphics.js line 539 @@ -9001,7 +9003,7 @@

Source:
- src/gameobjects/Graphics.js line 916 + src/gameobjects/Graphics.js line 916 @@ -9164,7 +9166,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -9318,7 +9320,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1295 + src/gameobjects/Graphics.js line 1295 @@ -9501,7 +9503,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 281 + src/gameobjects/Graphics.js line 281 @@ -9585,7 +9587,7 @@

Source:
- src/gameobjects/Graphics.js line 1532 + src/gameobjects/Graphics.js line 1532 @@ -9767,7 +9769,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 842 + src/gameobjects/Graphics.js line 842 @@ -9993,7 +9995,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 860 + src/gameobjects/Graphics.js line 860 @@ -10150,7 +10152,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 879 + src/gameobjects/Graphics.js line 879 @@ -10372,7 +10374,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 807 + src/gameobjects/Graphics.js line 807 @@ -10618,7 +10620,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 825 + src/gameobjects/Graphics.js line 825 @@ -10764,7 +10766,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1545 + src/gameobjects/Graphics.js line 1545 @@ -10978,7 +10980,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 296 + src/gameobjects/Graphics.js line 296 @@ -11211,7 +11213,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 329 + src/gameobjects/Graphics.js line 329 @@ -11295,7 +11297,7 @@

Source:
- src/gameobjects/Graphics.js line 790 + src/gameobjects/Graphics.js line 790 @@ -11556,7 +11558,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 939 + src/gameobjects/Graphics.js line 939 @@ -11672,7 +11674,7 @@

Source:
- src/gameobjects/Graphics.js line 1162 + src/gameobjects/Graphics.js line 1162 @@ -11839,7 +11841,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -12006,7 +12008,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -12119,7 +12121,7 @@

Source:
- src/gameobjects/Graphics.js line 1258 + src/gameobjects/Graphics.js line 1258 @@ -12290,7 +12292,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 1328 + src/gameobjects/Graphics.js line 1328 @@ -12407,7 +12409,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -12613,7 +12615,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 404 + src/gameobjects/Graphics.js line 404 @@ -12792,7 +12794,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 457 + src/gameobjects/Graphics.js line 457 @@ -12970,7 +12972,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 440 + src/gameobjects/Graphics.js line 440 @@ -13079,7 +13081,7 @@

Source:
- src/gameobjects/Graphics.js line 257 + src/gameobjects/Graphics.js line 257 @@ -13168,7 +13170,7 @@

Source:
- src/gameobjects/Graphics.js line 240 + src/gameobjects/Graphics.js line 240 @@ -13261,7 +13263,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -13468,7 +13470,7 @@
Parameters:
Source:
- src/gameobjects/Graphics.js line 482 + src/gameobjects/Graphics.js line 482 @@ -13631,7 +13633,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -13798,7 +13800,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -13989,7 +13991,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -14029,7 +14031,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -14228,7 +14230,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -14417,7 +14419,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -14608,7 +14610,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -14775,7 +14777,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -14918,7 +14920,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -15131,7 +15133,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -15252,7 +15254,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -15345,7 +15347,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -15455,7 +15457,7 @@

Source:
- src/gameobjects/Graphics.js line 1350 + src/gameobjects/Graphics.js line 1350 @@ -15618,7 +15620,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -15687,9 +15689,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -15704,9 +15706,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -15735,7 +15737,7 @@
Returns:

- + diff --git a/docs/Phaser.Group.html b/docs/Phaser.Group.html index b5c944a55..6ee0d3868 100644 --- a/docs/Phaser.Group.html +++ b/docs/Phaser.Group.html @@ -6,7 +6,7 @@ Phaser CE Class: Group - + @@ -251,7 +251,7 @@

Parameters:

The parent Group (or other DisplayObject) that this group will be added to. - If undefined/unspecified the Group will be added to the Game World; if null the Group will not be added to any parent.

+If undefined/unspecified the Group will be added to the Game World; if null the Group will not be added to any parent.

@@ -454,7 +454,7 @@
Parameters:
Source:
- src/core/Group.js line 27 + src/core/Group.js line 27 @@ -570,7 +570,7 @@
Type:
Source:
- src/core/Group.js line 331 + src/core/Group.js line 331 @@ -647,7 +647,7 @@
Type:
Source:
- src/core/Group.js line 324 + src/core/Group.js line 324 @@ -724,7 +724,7 @@
Type:
Source:
- src/core/Group.js line 310 + src/core/Group.js line 310 @@ -801,7 +801,7 @@
Type:
Source:
- src/core/Group.js line 317 + src/core/Group.js line 317 @@ -878,7 +878,7 @@
Type:
Source:
- src/core/Group.js line 338 + src/core/Group.js line 338 @@ -955,7 +955,7 @@
Type:
Source:
- src/core/Group.js line 345 + src/core/Group.js line 345 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/core/Group.js line 92 + src/core/Group.js line 92 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/core/Group.js line 3339 + src/core/Group.js line 3339 @@ -1201,7 +1201,7 @@
Type:
Source:
- src/core/Group.js line 2985 + src/core/Group.js line 2985 @@ -1280,7 +1280,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -1373,7 +1373,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1451,7 +1451,7 @@
Type:
Source:
- src/core/Group.js line 278 + src/core/Group.js line 278 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/core/Group.js line 3010 + src/core/Group.js line 3010 @@ -1609,7 +1609,7 @@
Type:
Source:
- src/core/Group.js line 3040 + src/core/Group.js line 3040 @@ -1695,7 +1695,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1780,7 +1780,7 @@
Type:
Source:
- src/core/Group.js line 128 + src/core/Group.js line 128 @@ -1858,7 +1858,7 @@
Type:
Source:
- src/core/Group.js line 136 + src/core/Group.js line 136 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/core/Group.js line 261 + src/core/Group.js line 261 @@ -2014,7 +2014,7 @@
Type:
Source:
- src/core/Group.js line 214 + src/core/Group.js line 214 @@ -2092,7 +2092,7 @@
Type:
Source:
- src/core/Group.js line 223 + src/core/Group.js line 223 @@ -2176,7 +2176,7 @@
Type:
Source:
- src/core/Group.js line 99 + src/core/Group.js line 99 @@ -2262,7 +2262,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2358,7 +2358,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2437,7 +2437,7 @@
Type:
Source:
- src/core/Group.js line 271 + src/core/Group.js line 271 @@ -2514,7 +2514,7 @@
Type:
Source:
- src/core/Group.js line 39 + src/core/Group.js line 39 @@ -2595,7 +2595,7 @@
Type:
Source:
- src/core/Group.js line 291 + src/core/Group.js line 291 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -2865,7 +2865,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -2942,7 +2942,7 @@
Type:
Source:
- src/core/Group.js line 106 + src/core/Group.js line 106 @@ -3021,7 +3021,7 @@
Type:
Source:
- src/core/Group.js line 147 + src/core/Group.js line 147 @@ -3100,7 +3100,7 @@
Type:
Source:
- src/core/Group.js line 3070 + src/core/Group.js line 3070 @@ -3177,7 +3177,7 @@
Type:
Source:
- src/core/Group.js line 2967 + src/core/Group.js line 2967 @@ -3266,7 +3266,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -3343,7 +3343,7 @@
Type:
Source:
- src/core/Group.js line 50 + src/core/Group.js line 50 @@ -3424,7 +3424,7 @@
Type:
Source:
- src/core/Group.js line 167 + src/core/Group.js line 167 @@ -3505,7 +3505,7 @@
Type:
Source:
- src/core/Group.js line 204 + src/core/Group.js line 204 @@ -3586,7 +3586,7 @@
Type:
Source:
- src/core/Group.js line 192 + src/core/Group.js line 192 @@ -3668,7 +3668,7 @@
Type:
Source:
- src/core/Group.js line 180 + src/core/Group.js line 180 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/core/Group.js line 255 + src/core/Group.js line 255 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -3915,7 +3915,7 @@
Type:
Source:
- src/core/Group.js line 118 + src/core/Group.js line 118 @@ -3993,7 +3993,7 @@
Type:
Source:
- src/core/Group.js line 231 + src/core/Group.js line 231 @@ -4077,7 +4077,7 @@
Type:
Source:
- src/core/Group.js line 249 + src/core/Group.js line 249 @@ -4154,7 +4154,7 @@
Type:
Source:
- src/core/Group.js line 85 + src/core/Group.js line 85 @@ -4241,7 +4241,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4329,7 +4329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -4416,7 +4416,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -4495,7 +4495,7 @@
Type:
Source:
- src/core/Group.js line 3100 + src/core/Group.js line 3100 @@ -4579,7 +4579,7 @@
Type:
Source:
- src/core/Group.js line 3323 + src/core/Group.js line 3323 @@ -4668,7 +4668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -4747,7 +4747,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -4824,7 +4824,7 @@
Type:
Source:
- src/core/Group.js line 2949 + src/core/Group.js line 2949 @@ -4901,7 +4901,7 @@
Type:
Source:
- src/core/Group.js line 79 + src/core/Group.js line 79 @@ -4978,7 +4978,7 @@
Type:
Source:
- src/core/Group.js line 155 + src/core/Group.js line 155 @@ -5060,7 +5060,7 @@
Type:
Source:
- src/core/Group.js line 3332 + src/core/Group.js line 3332 @@ -5146,7 +5146,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -5238,7 +5238,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -5420,7 +5420,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -5602,7 +5602,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -5688,7 +5688,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -5772,7 +5772,7 @@
Type:
Source:
- src/core/Group.js line 3305 + src/core/Group.js line 3305 @@ -5856,7 +5856,7 @@
Type:
Source:
- src/core/Group.js line 3314 + src/core/Group.js line 3314 @@ -5934,7 +5934,7 @@
Type:
Source:
- src/core/Group.js line 58 + src/core/Group.js line 58 @@ -6163,7 +6163,7 @@
Parameters:
Source:
- src/core/Group.js line 347 + src/core/Group.js line 347 @@ -6432,7 +6432,7 @@
Parameters:
Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -6665,7 +6665,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6832,7 +6832,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7023,7 +7023,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -7245,7 +7245,7 @@
Parameters:
Source:
- src/core/Group.js line 499 + src/core/Group.js line 499 @@ -7407,7 +7407,7 @@
Parameters:
Source:
- src/core/Group.js line 447 + src/core/Group.js line 447 @@ -7793,7 +7793,7 @@
Parameters:
Source:
- src/core/Group.js line 705 + src/core/Group.js line 705 @@ -8127,7 +8127,7 @@
Parameters:
Source:
- src/core/Group.js line 3190 + src/core/Group.js line 3190 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3232 + src/core/Group.js line 3232 @@ -8644,7 +8644,7 @@
Parameters:
Source:
- src/core/Group.js line 2128 + src/core/Group.js line 2128 @@ -8778,7 +8778,7 @@
Parameters:
Source:
- src/core/Group.js line 935 + src/core/Group.js line 935 @@ -9032,7 +9032,7 @@
Parameters:
Source:
- src/core/Group.js line 1710 + src/core/Group.js line 1710 @@ -9243,7 +9243,7 @@
Parameters:
Source:
- src/core/Group.js line 1622 + src/core/Group.js line 1622 @@ -9425,7 +9425,7 @@
Parameters:
Source:
- src/core/Group.js line 1659 + src/core/Group.js line 1659 @@ -9732,7 +9732,7 @@
Parameters:
Source:
- src/core/Group.js line 1409 + src/core/Group.js line 1409 @@ -10025,7 +10025,7 @@
Parameters:
Source:
- src/core/Group.js line 1446 + src/core/Group.js line 1446 @@ -10313,7 +10313,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -10480,7 +10480,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -10658,7 +10658,7 @@
Parameters:
Source:
- src/core/Group.js line 2559 + src/core/Group.js line 2559 @@ -10766,7 +10766,7 @@

Source:
- src/core/Group.js line 2587 + src/core/Group.js line 2587 @@ -10874,7 +10874,7 @@

Source:
- src/core/Group.js line 2574 + src/core/Group.js line 2574 @@ -11259,7 +11259,7 @@
Parameters:
Source:
- src/core/Group.js line 556 + src/core/Group.js line 556 @@ -11657,7 +11657,7 @@
Parameters:
Source:
- src/core/Group.js line 594 + src/core/Group.js line 594 @@ -11861,7 +11861,7 @@
Parameters:
Source:
- src/core/Group.js line 2103 + src/core/Group.js line 2103 @@ -12019,7 +12019,7 @@
Parameters:
Source:
- src/core/Group.js line 2159 + src/core/Group.js line 2159 @@ -12219,7 +12219,7 @@
Parameters:
Source:
- src/core/Group.js line 2911 + src/core/Group.js line 2911 @@ -12426,7 +12426,7 @@
Parameters:
Source:
- src/core/Group.js line 1535 + src/core/Group.js line 1535 @@ -12467,10 +12467,12 @@

Find children matching a certain predicate.

For example:

-
var healthyList = Group.filter(function(child, index, children) {
-    return child.health > 10 ? true : false;
+
var healthyList = Group.filter(function(child, index, children) {
+    return child.health > 10 ? true : false;
 }, true);
-healthyList.callAll('attack');

Note: Currently this will skip any children which are Groups themselves.

+healthyList.callAll('attack'); +
+

Note: Currently this will skip any children which are Groups themselves.

@@ -12621,7 +12623,7 @@

Parameters:
Source:
- src/core/Group.js line 1875 + src/core/Group.js line 1875 @@ -12686,7 +12688,9 @@

Call a function on each child in this group.

Additional arguments for the callback can be specified after the checkExists parameter. For example,

-
Group.forEach(awardBonusGold, this, true, 100, 500)

would invoke awardBonusGold function with the parameters (child, 100, 500).

+
Group.forEach(awardBonusGold, this, true, 100, 500)
+
+

would invoke awardBonusGold function with the parameters (child, 100, 500).

Note: This check will skip any children which are Groups themselves.

@@ -12916,7 +12920,7 @@

Parameters:
Source:
- src/core/Group.js line 1916 + src/core/Group.js line 1916 @@ -13145,7 +13149,7 @@
Parameters:
Source:
- src/core/Group.js line 2004 + src/core/Group.js line 2004 @@ -13374,7 +13378,7 @@
Parameters:
Source:
- src/core/Group.js line 2033 + src/core/Group.js line 2033 @@ -13603,7 +13607,7 @@
Parameters:
Source:
- src/core/Group.js line 1975 + src/core/Group.js line 1975 @@ -13848,7 +13852,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -14147,7 +14151,7 @@
Parameters:
Source:
- src/core/Group.js line 2644 + src/core/Group.js line 2644 @@ -14307,7 +14311,7 @@
Parameters:
Source:
- src/core/Group.js line 535 + src/core/Group.js line 535 @@ -14419,7 +14423,7 @@

Source:
- src/core/Group.js line 2451 + src/core/Group.js line 2451 @@ -14601,7 +14605,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -14761,7 +14765,7 @@
Parameters:
Source:
- src/core/Group.js line 1089 + src/core/Group.js line 1089 @@ -14928,7 +14932,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -15095,7 +15099,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -15337,7 +15341,7 @@
Parameters:
Source:
- src/core/Group.js line 2469 + src/core/Group.js line 2469 @@ -15519,7 +15523,7 @@
Parameters:
Source:
- src/core/Group.js line 2281 + src/core/Group.js line 2281 @@ -15869,7 +15873,7 @@
Parameters:
Source:
- src/core/Group.js line 2331 + src/core/Group.js line 2331 @@ -16219,7 +16223,7 @@
Parameters:
Source:
- src/core/Group.js line 2362 + src/core/Group.js line 2362 @@ -16608,7 +16612,7 @@
Parameters:
Source:
- src/core/Group.js line 2296 + src/core/Group.js line 2296 @@ -16850,7 +16854,7 @@
Parameters:
Source:
- src/core/Group.js line 2514 + src/core/Group.js line 2514 @@ -17008,7 +17012,7 @@
Parameters:
Source:
- src/core/Group.js line 1075 + src/core/Group.js line 1075 @@ -17125,7 +17129,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -17343,7 +17347,7 @@
Parameters:
Source:
- src/core/Group.js line 2600 + src/core/Group.js line 2600 @@ -17562,7 +17566,7 @@
Parameters:
Source:
- src/core/Group.js line 2623 + src/core/Group.js line 2623 @@ -17671,7 +17675,7 @@

Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -17854,7 +17858,7 @@
Parameters:
Source:
- src/core/Group.js line 1145 + src/core/Group.js line 1145 @@ -17923,12 +17927,12 @@

The result depends on the returnType:

  • RETURN_TOTAL: - The callback, if any, is applied to all matching children. The number of matched children is returned.
  • +The callback, if any, is applied to all matching children. The number of matched children is returned.
  • RETURN_NONE: - The callback, if any, is applied to all matching children. No value is returned.
  • +The callback, if any, is applied to all matching children. No value is returned.
  • RETURN_CHILD: - The callback, if any, is applied to the first matching child and the first matched child is returned. - If there is no matching child then null is returned.
  • +The callback, if any, is applied to the first matching child and the first matched child is returned. +If there is no matching child then null is returned.

If args is specified it must be an array. The matched child will be assigned to the first element and the entire array will be applied to the callback function.

@@ -18232,7 +18236,7 @@

Parameters:
Source:
- src/core/Group.js line 2185 + src/core/Group.js line 2185 @@ -18340,7 +18344,7 @@

Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -18424,7 +18428,7 @@

Source:
- src/core/Group.js line 1567 + src/core/Group.js line 1567 @@ -18614,7 +18618,7 @@
Parameters:
Source:
- src/core/Group.js line 2740 + src/core/Group.js line 2740 @@ -18772,7 +18776,7 @@
Parameters:
Source:
- src/core/Group.js line 1012 + src/core/Group.js line 1012 @@ -18930,7 +18934,7 @@
Parameters:
Source:
- src/core/Group.js line 987 + src/core/Group.js line 987 @@ -19161,7 +19165,7 @@
Parameters:
Source:
- src/core/Group.js line 1517 + src/core/Group.js line 1517 @@ -19246,7 +19250,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -19354,7 +19358,7 @@

Source:
- src/core/Group.js line 1853 + src/core/Group.js line 1853 @@ -19443,7 +19447,7 @@

Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -19528,7 +19532,7 @@

Source:
- src/core/Group.js line 888 + src/core/Group.js line 888 @@ -19784,7 +19788,7 @@
Parameters:
Source:
- src/core/Group.js line 2691 + src/core/Group.js line 2691 @@ -20045,7 +20049,7 @@
Parameters:
Source:
- src/core/Group.js line 2770 + src/core/Group.js line 2770 @@ -20313,7 +20317,7 @@
Parameters:
Source:
- src/core/Group.js line 2819 + src/core/Group.js line 2819 @@ -20456,7 +20460,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -20623,7 +20627,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -20814,7 +20818,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -20949,7 +20953,7 @@
Parameters:
Source:
- src/core/Group.js line 473 + src/core/Group.js line 473 @@ -21133,7 +21137,7 @@
Parameters:
Source:
- src/core/Group.js line 1105 + src/core/Group.js line 1105 @@ -21478,7 +21482,7 @@
Parameters:
Source:
- src/core/Group.js line 1605 + src/core/Group.js line 1605 @@ -21775,7 +21779,7 @@
Parameters:
Source:
- src/core/Group.js line 2393 + src/core/Group.js line 2393 @@ -21954,7 +21958,7 @@
Parameters:
Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -22063,7 +22067,7 @@

Source:
- src/core/Group.js line 1060 + src/core/Group.js line 1060 @@ -22147,7 +22151,7 @@

Source:
- src/core/Group.js line 1579 + src/core/Group.js line 1579 @@ -22231,7 +22235,7 @@

Source:
- src/core/Group.js line 1593 + src/core/Group.js line 1593 @@ -22425,7 +22429,7 @@
Parameters:
Source:
- src/core/Group.js line 2875 + src/core/Group.js line 2875 @@ -22559,7 +22563,7 @@
Parameters:
Source:
- src/core/Group.js line 961 + src/core/Group.js line 961 @@ -22966,7 +22970,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23339,7 +23343,7 @@
Parameters:
Source:
- src/core/Group.js line 1323 + src/core/Group.js line 1323 @@ -23688,7 +23692,7 @@
Parameters:
Source:
- src/core/Group.js line 1363 + src/core/Group.js line 1363 @@ -23855,7 +23859,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -24165,7 +24169,7 @@
Parameters:
Source:
- src/core/Group.js line 1181 + src/core/Group.js line 1181 @@ -24274,7 +24278,7 @@

Source:
- src/core/Group.js line 2896 + src/core/Group.js line 2896 @@ -24472,7 +24476,7 @@
Parameters:
Source:
- src/core/Group.js line 2062 + src/core/Group.js line 2062 @@ -24679,7 +24683,7 @@
Parameters:
Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -24838,7 +24842,7 @@
Parameters:
Source:
- src/core/Group.js line 918 + src/core/Group.js line 918 @@ -25005,7 +25009,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -25148,7 +25152,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -25361,7 +25365,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -25472,7 +25476,7 @@

Source:
- src/core/Group.js line 1823 + src/core/Group.js line 1823 @@ -25565,7 +25569,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -25754,7 +25758,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -25865,7 +25869,7 @@

Source:
- src/core/Group.js line 685 + src/core/Group.js line 685 @@ -26047,7 +26051,7 @@
Parameters:
Source:
- src/core/Group.js line 1037 + src/core/Group.js line 1037 @@ -26090,9 +26094,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -26107,9 +26111,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -26138,7 +26142,7 @@
Parameters:
- + diff --git a/docs/Phaser.Hermite.html b/docs/Phaser.Hermite.html index e8e0fde59..53d76a74f 100644 --- a/docs/Phaser.Hermite.html +++ b/docs/Phaser.Hermite.html @@ -6,7 +6,7 @@ Phaser CE Class: Hermite - + @@ -551,7 +551,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 39 + src/geom/Hermite.js line 39 @@ -656,7 +656,7 @@
Type:
Source:
- src/geom/Hermite.js line 407 + src/geom/Hermite.js line 407 @@ -733,7 +733,7 @@
Type:
Source:
- src/geom/Hermite.js line 433 + src/geom/Hermite.js line 433 @@ -810,7 +810,7 @@
Type:
Source:
- src/geom/Hermite.js line 459 + src/geom/Hermite.js line 459 @@ -887,7 +887,7 @@
Type:
Source:
- src/geom/Hermite.js line 485 + src/geom/Hermite.js line 485 @@ -964,7 +964,7 @@
Type:
Source:
- src/geom/Hermite.js line 511 + src/geom/Hermite.js line 511 @@ -1041,7 +1041,7 @@
Type:
Source:
- src/geom/Hermite.js line 537 + src/geom/Hermite.js line 537 @@ -1118,7 +1118,7 @@
Type:
Source:
- src/geom/Hermite.js line 563 + src/geom/Hermite.js line 563 @@ -1195,7 +1195,7 @@
Type:
Source:
- src/geom/Hermite.js line 589 + src/geom/Hermite.js line 589 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/geom/Hermite.js line 615 + src/geom/Hermite.js line 615 @@ -1350,7 +1350,7 @@

Source:
- src/geom/Hermite.js line 148 + src/geom/Hermite.js line 148 @@ -1509,7 +1509,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 176 + src/geom/Hermite.js line 176 @@ -1687,7 +1687,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 344 + src/geom/Hermite.js line 344 @@ -1865,7 +1865,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 363 + src/geom/Hermite.js line 363 @@ -2026,7 +2026,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 386 + src/geom/Hermite.js line 386 @@ -2245,7 +2245,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 282 + src/geom/Hermite.js line 282 @@ -2464,7 +2464,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 316 + src/geom/Hermite.js line 316 @@ -2642,7 +2642,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 214 + src/geom/Hermite.js line 214 @@ -2820,7 +2820,7 @@
Parameters:
Source:
- src/geom/Hermite.js line 248 + src/geom/Hermite.js line 248 @@ -2930,7 +2930,7 @@

Source:
- src/geom/Hermite.js line 124 + src/geom/Hermite.js line 124 @@ -2997,9 +2997,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3014,9 +3014,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3045,7 +3045,7 @@
Returns:
- + diff --git a/docs/Phaser.Image.html b/docs/Phaser.Image.html index 9921da9bf..0b18259ef 100644 --- a/docs/Phaser.Image.html +++ b/docs/Phaser.Image.html @@ -6,7 +6,7 @@ Phaser CE Class: Image - + @@ -415,7 +415,7 @@
Parameters:
Source:
- src/gameobjects/Image.js line 37 + src/gameobjects/Image.js line 37 @@ -583,7 +583,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -679,7 +679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -769,7 +769,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 29 + src/pixi/display/Sprite.js line 29 @@ -797,9 +797,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -860,7 +860,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -947,7 +947,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 94 + src/pixi/display/Sprite.js line 94 @@ -1225,7 +1225,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1318,7 +1318,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1405,7 +1405,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1492,7 +1492,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1579,7 +1579,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1751,7 +1751,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1778,7 +1778,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -1839,7 +1839,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1935,7 +1935,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2021,7 +2021,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2047,7 +2047,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2108,7 +2108,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2195,7 +2195,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2300,7 +2300,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 113 + src/pixi/display/Sprite.js line 113 @@ -2386,7 +2386,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2477,7 +2477,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2503,11 +2503,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2570,7 +2570,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -2661,7 +2661,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -2688,7 +2688,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -2752,7 +2752,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -2839,7 +2839,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -2925,7 +2925,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3011,7 +3011,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3107,7 +3107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3195,7 +3195,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3282,7 +3282,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -3466,7 +3466,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -3568,7 +3568,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -3655,7 +3655,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -3745,7 +3745,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -3834,7 +3834,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -3921,7 +3921,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4009,7 +4009,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4097,7 +4097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4186,7 +4186,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4275,7 +4275,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -4536,7 +4536,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -4622,7 +4622,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -4709,7 +4709,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -4796,7 +4796,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -4883,7 +4883,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -4972,7 +4972,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -5061,7 +5061,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5237,7 +5237,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 104 + src/pixi/display/Sprite.js line 104 @@ -5419,7 +5419,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5505,7 +5505,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 37 + src/pixi/display/Sprite.js line 37 @@ -5598,7 +5598,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 64 + src/pixi/display/Sprite.js line 64 @@ -5691,7 +5691,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 83 + src/pixi/display/Sprite.js line 83 @@ -5778,7 +5778,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -5864,7 +5864,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -5950,7 +5950,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6027,7 +6027,7 @@
Type:
Source:
- src/gameobjects/Image.js line 49 + src/gameobjects/Image.js line 49 @@ -6126,7 +6126,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -6212,7 +6212,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -6300,7 +6300,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -6392,7 +6392,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -6483,7 +6483,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -6574,7 +6574,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -6665,7 +6665,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -6756,7 +6756,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -6842,7 +6842,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -6929,7 +6929,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7016,7 +7016,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -7105,7 +7105,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -7242,7 +7242,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7433,7 +7433,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -7776,7 +7776,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -8120,7 +8120,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -8240,7 +8240,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8407,7 +8407,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -8470,9 +8470,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -8633,7 +8633,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -8733,7 +8733,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -8978,7 +8978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -9153,7 +9153,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 213 + src/pixi/display/Sprite.js line 213 @@ -9320,7 +9320,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -9487,7 +9487,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -9604,7 +9604,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -9725,7 +9725,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -9792,10 +9792,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -10010,7 +10010,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10051,7 +10051,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -10106,7 +10106,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -10226,7 +10226,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -10289,7 +10289,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -10409,7 +10409,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10715,7 +10715,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -10832,7 +10832,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -10921,7 +10921,7 @@

Source:
- src/gameobjects/Image.js line 82 + src/gameobjects/Image.js line 82 @@ -11014,7 +11014,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -11157,7 +11157,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -11324,7 +11324,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -11515,7 +11515,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -11555,7 +11555,7 @@

Resets the Game Object.

-

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, +

This moves the Game Object to the given x/y world coordinates and sets fresh, exists, visible and renderable to true.

If this Game Object has the LifeSpan component it will also set alive to true and health to the given value.

If this Game Object has a Physics Body it will reset the Body.

@@ -11754,7 +11754,7 @@
Parameters:
Source:
- src/gameobjects/components/Reset.js line 30 + src/gameobjects/components/Reset.js line 30 @@ -11871,7 +11871,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -12064,7 +12064,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -12229,7 +12229,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -12349,7 +12349,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -12540,7 +12540,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -12684,7 +12684,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -12921,7 +12921,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -13121,7 +13121,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 177 + src/pixi/display/Sprite.js line 177 @@ -13288,7 +13288,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -13431,7 +13431,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -13644,7 +13644,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -13765,7 +13765,7 @@

Source:
- src/gameobjects/components/Core.js line 381 + src/gameobjects/components/Core.js line 354 @@ -13858,7 +13858,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -13978,7 +13978,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -14141,7 +14141,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -14210,9 +14210,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -14227,9 +14227,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -14258,7 +14258,7 @@
Returns:

- + diff --git a/docs/Phaser.ImageCollection.html b/docs/Phaser.ImageCollection.html index a7d05a609..0658eb267 100644 --- a/docs/Phaser.ImageCollection.html +++ b/docs/Phaser.ImageCollection.html @@ -6,7 +6,7 @@ Phaser CE Class: ImageCollection - + @@ -483,7 +483,7 @@

Parameters:
Source:
- src/tilemap/ImageCollection.js line 22 + src/tilemap/ImageCollection.js line 22 @@ -589,7 +589,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 41 + src/tilemap/ImageCollection.js line 41 @@ -666,7 +666,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 55 + src/tilemap/ImageCollection.js line 55 @@ -786,7 +786,7 @@
Properties:
Source:
- src/tilemap/ImageCollection.js line 64 + src/tilemap/ImageCollection.js line 64 @@ -863,7 +863,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 86 + src/tilemap/ImageCollection.js line 86 @@ -941,7 +941,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 72 + src/tilemap/ImageCollection.js line 72 @@ -1018,7 +1018,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 48 + src/tilemap/ImageCollection.js line 48 @@ -1095,7 +1095,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 34 + src/tilemap/ImageCollection.js line 34 @@ -1172,7 +1172,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 78 + src/tilemap/ImageCollection.js line 78 @@ -1249,7 +1249,7 @@
Type:
Source:
- src/tilemap/ImageCollection.js line 94 + src/tilemap/ImageCollection.js line 94 @@ -1401,7 +1401,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 116 + src/tilemap/ImageCollection.js line 116 @@ -1535,7 +1535,7 @@
Parameters:
Source:
- src/tilemap/ImageCollection.js line 99 + src/tilemap/ImageCollection.js line 99 @@ -1602,9 +1602,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1619,9 +1619,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1650,7 +1650,7 @@
Returns:
- + diff --git a/docs/Phaser.Input.html b/docs/Phaser.Input.html index 934a56a67..048173776 100644 --- a/docs/Phaser.Input.html +++ b/docs/Phaser.Input.html @@ -6,7 +6,7 @@ Phaser CE Class: Input - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/input/Input.js line 15 + src/input/Input.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Input.js line 413 + src/input/Input.js line 413 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Input.js line 394 + src/input/Input.js line 394 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Input.js line 406 + src/input/Input.js line 406 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Input.js line 400 + src/input/Input.js line 400 @@ -633,7 +633,7 @@
Type:
Source:
- src/input/Input.js line 238 + src/input/Input.js line 238 @@ -711,7 +711,7 @@
Type:
Source:
- src/input/Input.js line 92 + src/input/Input.js line 92 @@ -795,7 +795,7 @@
Type:
Source:
- src/input/Input.js line 119 + src/input/Input.js line 119 @@ -880,7 +880,7 @@
Type:
Source:
- src/input/Input.js line 68 + src/input/Input.js line 68 @@ -957,7 +957,7 @@
Type:
Source:
- src/input/Input.js line 21 + src/input/Input.js line 21 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Input.js line 291 + src/input/Input.js line 291 @@ -1111,7 +1111,7 @@
Type:
Source:
- src/input/Input.js line 27 + src/input/Input.js line 27 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/input/Input.js line 33 + src/input/Input.js line 33 @@ -1272,7 +1272,7 @@
Type:
Source:
- src/input/Input.js line 125 + src/input/Input.js line 125 @@ -1349,7 +1349,7 @@
Type:
Source:
- src/input/Input.js line 356 + src/input/Input.js line 356 @@ -1433,7 +1433,7 @@
Type:
Source:
- src/input/Input.js line 131 + src/input/Input.js line 131 @@ -1517,7 +1517,7 @@
Type:
Source:
- src/input/Input.js line 137 + src/input/Input.js line 137 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/input/Input.js line 264 + src/input/Input.js line 264 @@ -1680,7 +1680,7 @@
Type:
Source:
- src/input/Input.js line 107 + src/input/Input.js line 107 @@ -1765,7 +1765,7 @@
Type:
Source:
- src/input/Input.js line 350 + src/input/Input.js line 350 @@ -1844,7 +1844,7 @@
Type:
Source:
- src/input/Input.js line 257 + src/input/Input.js line 257 @@ -1922,7 +1922,7 @@
Type:
Source:
- src/input/Input.js line 247 + src/input/Input.js line 247 @@ -2000,7 +2000,7 @@
Type:
Source:
- src/input/Input.js line 41 + src/input/Input.js line 41 @@ -2079,7 +2079,7 @@
Type:
Source:
- src/input/Input.js line 284 + src/input/Input.js line 284 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/input/Input.js line 74 + src/input/Input.js line 74 @@ -2238,7 +2238,7 @@
Type:
Source:
- src/input/Input.js line 310 + src/input/Input.js line 310 @@ -2319,7 +2319,7 @@
Type:
Source:
- src/input/Input.js line 342 + src/input/Input.js line 342 @@ -2401,7 +2401,7 @@
Type:
Source:
- src/input/Input.js line 332 + src/input/Input.js line 332 @@ -2483,7 +2483,7 @@
Type:
Source:
- src/input/Input.js line 321 + src/input/Input.js line 321 @@ -2560,7 +2560,7 @@
Type:
Source:
- src/input/Input.js line 174 + src/input/Input.js line 174 @@ -2637,7 +2637,7 @@
Type:
Source:
- src/input/Input.js line 179 + src/input/Input.js line 179 @@ -2714,7 +2714,7 @@
Type:
Source:
- src/input/Input.js line 184 + src/input/Input.js line 184 @@ -2791,7 +2791,7 @@
Type:
Source:
- src/input/Input.js line 189 + src/input/Input.js line 189 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/input/Input.js line 194 + src/input/Input.js line 194 @@ -2945,7 +2945,7 @@
Type:
Source:
- src/input/Input.js line 199 + src/input/Input.js line 199 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/input/Input.js line 204 + src/input/Input.js line 204 @@ -3099,7 +3099,7 @@
Type:
Source:
- src/input/Input.js line 209 + src/input/Input.js line 209 @@ -3176,7 +3176,7 @@
Type:
Source:
- src/input/Input.js line 214 + src/input/Input.js line 214 @@ -3253,7 +3253,7 @@
Type:
Source:
- src/input/Input.js line 219 + src/input/Input.js line 219 @@ -3332,7 +3332,7 @@
Type:
Source:
- src/input/Input.js line 229 + src/input/Input.js line 229 @@ -3409,7 +3409,7 @@
Type:
Source:
- src/input/Input.js line 1292 + src/input/Input.js line 1292 @@ -3486,7 +3486,7 @@
Type:
Source:
- src/input/Input.js line 59 + src/input/Input.js line 59 @@ -3563,7 +3563,7 @@
Type:
Source:
- src/input/Input.js line 80 + src/input/Input.js line 80 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/input/Input.js line 160 + src/input/Input.js line 160 @@ -3727,7 +3727,7 @@
Type:
Source:
- src/input/Input.js line 146 + src/input/Input.js line 146 @@ -3811,7 +3811,7 @@
Type:
Source:
- src/input/Input.js line 152 + src/input/Input.js line 152 @@ -3889,7 +3889,7 @@
Type:
Source:
- src/input/Input.js line 299 + src/input/Input.js line 299 @@ -3966,7 +3966,7 @@
Type:
Source:
- src/input/Input.js line 97 + src/input/Input.js line 97 @@ -4043,7 +4043,7 @@
Type:
Source:
- src/input/Input.js line 85 + src/input/Input.js line 85 @@ -4127,7 +4127,7 @@
Type:
Source:
- src/input/Input.js line 113 + src/input/Input.js line 113 @@ -4204,7 +4204,7 @@
Type:
Source:
- src/input/Input.js line 1322 + src/input/Input.js line 1322 @@ -4281,7 +4281,7 @@
Type:
Source:
- src/input/Input.js line 1307 + src/input/Input.js line 1307 @@ -4360,7 +4360,7 @@
Type:
Source:
- src/input/Input.js line 274 + src/input/Input.js line 274 @@ -4439,7 +4439,7 @@
Type:
Source:
- src/input/Input.js line 169 + src/input/Input.js line 169 @@ -4516,7 +4516,7 @@
Type:
Source:
- src/input/Input.js line 1337 + src/input/Input.js line 1337 @@ -4593,7 +4593,7 @@
Type:
Source:
- src/input/Input.js line 1352 + src/input/Input.js line 1352 @@ -4671,7 +4671,7 @@
Type:
Source:
- src/input/Input.js line 1252 + src/input/Input.js line 1252 @@ -4749,7 +4749,7 @@
Type:
Source:
- src/input/Input.js line 1272 + src/input/Input.js line 1272 @@ -4912,7 +4912,7 @@
Parameters:
Source:
- src/input/Input.js line 584 + src/input/Input.js line 584 @@ -4998,7 +4998,7 @@

Source:
- src/input/Input.js line 707 + src/input/Input.js line 707 @@ -5254,7 +5254,7 @@
Parameters:
Source:
- src/input/Input.js line 612 + src/input/Input.js line 612 @@ -5388,7 +5388,7 @@
Parameters:
Source:
- src/input/Input.js line 428 + src/input/Input.js line 428 @@ -5546,7 +5546,7 @@
Parameters:
Source:
- src/input/Input.js line 684 + src/input/Input.js line 684 @@ -5630,7 +5630,7 @@

Source:
- src/input/Input.js line 522 + src/input/Input.js line 522 @@ -5791,7 +5791,7 @@
Parameters:
Source:
- src/input/Input.js line 1082 + src/input/Input.js line 1082 @@ -5969,7 +5969,7 @@
Parameters:
Source:
- src/input/Input.js line 1001 + src/input/Input.js line 1001 @@ -6129,7 +6129,7 @@
Parameters:
Source:
- src/input/Input.js line 1055 + src/input/Input.js line 1055 @@ -6290,7 +6290,7 @@
Parameters:
Source:
- src/input/Input.js line 1027 + src/input/Input.js line 1027 @@ -6496,7 +6496,7 @@
Parameters:
Source:
- src/input/Input.js line 1105 + src/input/Input.js line 1105 @@ -6654,7 +6654,7 @@
Parameters:
Source:
- src/input/Input.js line 635 + src/input/Input.js line 635 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/input/Input.js line 790 + src/input/Input.js line 790 @@ -6993,7 +6993,7 @@
Parameters:
Source:
- src/input/Input.js line 845 + src/input/Input.js line 845 @@ -7040,9 +7040,11 @@

Source:
- src/input/Input.js line 554 + src/input/Input.js line 554 @@ -7297,7 +7299,7 @@
Parameters:
Source:
- src/input/Input.js line 860 + src/input/Input.js line 860 @@ -7455,7 +7457,7 @@
Parameters:
Source:
- src/input/Input.js line 937 + src/input/Input.js line 937 @@ -7563,7 +7565,7 @@

Source:
- src/input/Input.js line 734 + src/input/Input.js line 734 @@ -7698,7 +7700,7 @@
Parameters:
Source:
- src/input/Input.js line 901 + src/input/Input.js line 901 @@ -7765,9 +7767,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -7782,9 +7784,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -7813,7 +7815,7 @@
Returns:
- + diff --git a/docs/Phaser.InputHandler.html b/docs/Phaser.InputHandler.html index 0f8a3c47a..32a1ac7ff 100644 --- a/docs/Phaser.InputHandler.html +++ b/docs/Phaser.InputHandler.html @@ -6,7 +6,7 @@ Phaser CE Class: InputHandler - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 14 + src/input/InputHandler.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/input/InputHandler.js line 70 + src/input/InputHandler.js line 70 @@ -426,7 +426,7 @@
Type:
Source:
- src/input/InputHandler.js line 76 + src/input/InputHandler.js line 76 @@ -503,7 +503,7 @@
Type:
Source:
- src/input/InputHandler.js line 162 + src/input/InputHandler.js line 162 @@ -580,7 +580,7 @@
Type:
Source:
- src/input/InputHandler.js line 168 + src/input/InputHandler.js line 168 @@ -657,7 +657,7 @@
Type:
Source:
- src/input/InputHandler.js line 82 + src/input/InputHandler.js line 82 @@ -734,7 +734,7 @@
Type:
Source:
- src/input/InputHandler.js line 37 + src/input/InputHandler.js line 37 @@ -811,7 +811,7 @@
Type:
Source:
- src/input/InputHandler.js line 208 + src/input/InputHandler.js line 208 @@ -888,7 +888,7 @@
Type:
Source:
- src/input/InputHandler.js line 198 + src/input/InputHandler.js line 198 @@ -965,7 +965,7 @@
Type:
Source:
- src/input/InputHandler.js line 183 + src/input/InputHandler.js line 183 @@ -1042,7 +1042,7 @@
Type:
Source:
- src/input/InputHandler.js line 156 + src/input/InputHandler.js line 156 @@ -1119,7 +1119,7 @@
Type:
Source:
- src/input/InputHandler.js line 178 + src/input/InputHandler.js line 178 @@ -1196,7 +1196,7 @@
Type:
Source:
- src/input/InputHandler.js line 193 + src/input/InputHandler.js line 193 @@ -1273,7 +1273,7 @@
Type:
Source:
- src/input/InputHandler.js line 188 + src/input/InputHandler.js line 188 @@ -1350,7 +1350,7 @@
Type:
Source:
- src/input/InputHandler.js line 203 + src/input/InputHandler.js line 203 @@ -1427,7 +1427,7 @@
Type:
Source:
- src/input/InputHandler.js line 31 + src/input/InputHandler.js line 31 @@ -1504,7 +1504,7 @@
Type:
Source:
- src/input/InputHandler.js line 25 + src/input/InputHandler.js line 25 @@ -1581,7 +1581,7 @@
Type:
Source:
- src/input/InputHandler.js line 64 + src/input/InputHandler.js line 64 @@ -1665,7 +1665,7 @@
Type:
Source:
- src/input/InputHandler.js line 150 + src/input/InputHandler.js line 150 @@ -1745,7 +1745,7 @@
Type:
Source:
- src/input/InputHandler.js line 144 + src/input/InputHandler.js line 144 @@ -1825,7 +1825,7 @@
Type:
Source:
- src/input/InputHandler.js line 134 + src/input/InputHandler.js line 134 @@ -1904,7 +1904,7 @@
Type:
Source:
- src/input/InputHandler.js line 46 + src/input/InputHandler.js line 46 @@ -1981,7 +1981,7 @@
Type:
Source:
- src/input/InputHandler.js line 173 + src/input/InputHandler.js line 173 @@ -2058,7 +2058,7 @@
Type:
Source:
- src/input/InputHandler.js line 88 + src/input/InputHandler.js line 88 @@ -2135,7 +2135,7 @@
Type:
Source:
- src/input/InputHandler.js line 118 + src/input/InputHandler.js line 118 @@ -2212,7 +2212,7 @@
Type:
Source:
- src/input/InputHandler.js line 124 + src/input/InputHandler.js line 124 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/input/InputHandler.js line 94 + src/input/InputHandler.js line 94 @@ -2366,7 +2366,7 @@
Type:
Source:
- src/input/InputHandler.js line 100 + src/input/InputHandler.js line 100 @@ -2443,7 +2443,7 @@
Type:
Source:
- src/input/InputHandler.js line 213 + src/input/InputHandler.js line 213 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/input/InputHandler.js line 106 + src/input/InputHandler.js line 106 @@ -2597,7 +2597,7 @@
Type:
Source:
- src/input/InputHandler.js line 112 + src/input/InputHandler.js line 112 @@ -2674,7 +2674,7 @@
Type:
Source:
- src/input/InputHandler.js line 20 + src/input/InputHandler.js line 20 @@ -2751,7 +2751,7 @@
Type:
Source:
- src/input/InputHandler.js line 52 + src/input/InputHandler.js line 52 @@ -2829,7 +2829,7 @@

Source:
- src/input/InputHandler.js line 1752 + src/input/InputHandler.js line 1752 @@ -2913,7 +2913,7 @@

Source:
- src/input/InputHandler.js line 1803 + src/input/InputHandler.js line 1803 @@ -3124,7 +3124,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 821 + src/input/InputHandler.js line 821 @@ -3339,7 +3339,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 730 + src/input/InputHandler.js line 730 @@ -3554,7 +3554,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 776 + src/input/InputHandler.js line 776 @@ -3658,7 +3658,7 @@

Source:
- src/input/InputHandler.js line 436 + src/input/InputHandler.js line 436 @@ -3743,7 +3743,7 @@

Source:
- src/input/InputHandler.js line 1507 + src/input/InputHandler.js line 1507 @@ -3827,7 +3827,7 @@

Source:
- src/input/InputHandler.js line 1739 + src/input/InputHandler.js line 1739 @@ -3981,7 +3981,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1427 + src/input/InputHandler.js line 1427 @@ -4369,7 +4369,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1448 + src/input/InputHandler.js line 1448 @@ -4716,7 +4716,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1710 + src/input/InputHandler.js line 1710 @@ -4850,7 +4850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1633 + src/input/InputHandler.js line 1633 @@ -5008,7 +5008,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1595 + src/input/InputHandler.js line 1595 @@ -5142,7 +5142,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1614 + src/input/InputHandler.js line 1614 @@ -5226,7 +5226,7 @@

Source:
- src/input/InputHandler.js line 503 + src/input/InputHandler.js line 503 @@ -5440,7 +5440,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1352 + src/input/InputHandler.js line 1352 @@ -5650,7 +5650,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1334 + src/input/InputHandler.js line 1334 @@ -5860,7 +5860,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1370 + src/input/InputHandler.js line 1370 @@ -6070,7 +6070,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1388 + src/input/InputHandler.js line 1388 @@ -6244,7 +6244,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1406 + src/input/InputHandler.js line 1406 @@ -6423,7 +6423,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 550 + src/input/InputHandler.js line 550 @@ -6603,7 +6603,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 714 + src/input/InputHandler.js line 714 @@ -6781,7 +6781,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 650 + src/input/InputHandler.js line 650 @@ -6959,7 +6959,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 616 + src/input/InputHandler.js line 616 @@ -7139,7 +7139,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 584 + src/input/InputHandler.js line 584 @@ -7313,7 +7313,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 698 + src/input/InputHandler.js line 698 @@ -7487,7 +7487,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 682 + src/input/InputHandler.js line 682 @@ -7661,7 +7661,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 600 + src/input/InputHandler.js line 600 @@ -7836,7 +7836,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 567 + src/input/InputHandler.js line 567 @@ -8017,7 +8017,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 516 + src/input/InputHandler.js line 516 @@ -8196,7 +8196,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 533 + src/input/InputHandler.js line 533 @@ -8304,7 +8304,7 @@

Source:
- src/input/InputHandler.js line 386 + src/input/InputHandler.js line 386 @@ -8498,7 +8498,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1692 + src/input/InputHandler.js line 1692 @@ -8692,7 +8692,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 285 + src/input/InputHandler.js line 285 @@ -8850,7 +8850,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1531 + src/input/InputHandler.js line 1531 @@ -8934,7 +8934,7 @@

Source:
- src/input/InputHandler.js line 415 + src/input/InputHandler.js line 415 @@ -9068,7 +9068,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 1654 + src/input/InputHandler.js line 1654 @@ -9203,7 +9203,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 891 + src/input/InputHandler.js line 891 @@ -9454,7 +9454,7 @@
Parameters:
Source:
- src/input/InputHandler.js line 463 + src/input/InputHandler.js line 463 @@ -9521,9 +9521,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -9538,9 +9538,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -9569,7 +9569,7 @@
Returns:
- + diff --git a/docs/Phaser.Key.html b/docs/Phaser.Key.html index eb4b1255f..99de525e0 100644 --- a/docs/Phaser.Key.html +++ b/docs/Phaser.Key.html @@ -6,7 +6,7 @@ Phaser CE Class: Key - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/input/Key.js line 15 + src/input/Key.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/input/Key.js line 52 + src/input/Key.js line 52 @@ -436,7 +436,7 @@
Type:
Source:
- src/input/Key.js line 58 + src/input/Key.js line 58 @@ -514,7 +514,7 @@
Type:
Source:
- src/input/Key.js line 77 + src/input/Key.js line 77 @@ -634,7 +634,7 @@
Properties:
Source:
- src/input/Key.js line 91 + src/input/Key.js line 91 @@ -719,7 +719,7 @@
Type:
Source:
- src/input/Key.js line 385 + src/input/Key.js line 385 @@ -796,7 +796,7 @@
Type:
Source:
- src/input/Key.js line 34 + src/input/Key.js line 34 @@ -873,7 +873,7 @@
Type:
Source:
- src/input/Key.js line 21 + src/input/Key.js line 21 @@ -950,7 +950,7 @@
Type:
Source:
- src/input/Key.js line 40 + src/input/Key.js line 40 @@ -1034,7 +1034,7 @@
Type:
Source:
- src/input/Key.js line 46 + src/input/Key.js line 46 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/input/Key.js line 337 + src/input/Key.js line 337 @@ -1208,7 +1208,7 @@
Type:
Source:
- src/input/Key.js line 361 + src/input/Key.js line 361 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/input/Key.js line 102 + src/input/Key.js line 102 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/input/Key.js line 107 + src/input/Key.js line 107 @@ -1439,7 +1439,7 @@
Type:
Source:
- src/input/Key.js line 112 + src/input/Key.js line 112 @@ -1516,7 +1516,7 @@
Type:
Source:
- src/input/Key.js line 117 + src/input/Key.js line 117 @@ -1593,7 +1593,7 @@
Type:
Source:
- src/input/Key.js line 122 + src/input/Key.js line 122 @@ -1670,7 +1670,7 @@
Type:
Source:
- src/input/Key.js line 97 + src/input/Key.js line 97 @@ -1747,7 +1747,7 @@
Type:
Source:
- src/input/Key.js line 64 + src/input/Key.js line 64 @@ -1824,7 +1824,7 @@
Type:
Source:
- src/input/Key.js line 69 + src/input/Key.js line 69 @@ -1901,7 +1901,7 @@
Type:
Source:
- src/input/Key.js line 83 + src/input/Key.js line 83 @@ -2050,7 +2050,7 @@
Parameters:
Source:
- src/input/Key.js line 273 + src/input/Key.js line 273 @@ -2159,7 +2159,7 @@

Source:
- src/input/Key.js line 307 + src/input/Key.js line 307 @@ -2268,7 +2268,7 @@

Source:
- src/input/Key.js line 321 + src/input/Key.js line 321 @@ -2426,7 +2426,7 @@
Parameters:
Source:
- src/input/Key.js line 168 + src/input/Key.js line 168 @@ -2560,7 +2560,7 @@
Parameters:
Source:
- src/input/Key.js line 207 + src/input/Key.js line 207 @@ -2716,7 +2716,7 @@
Parameters:
Source:
- src/input/Key.js line 240 + src/input/Key.js line 240 @@ -2800,7 +2800,7 @@

Source:
- src/input/Key.js line 140 + src/input/Key.js line 140 @@ -2955,7 +2955,7 @@
Parameters:
Source:
- src/input/Key.js line 290 + src/input/Key.js line 290 @@ -3022,9 +3022,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3039,9 +3039,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3070,7 +3070,7 @@
Returns:
- + diff --git a/docs/Phaser.KeyCode.html b/docs/Phaser.KeyCode.html index 0b2592daf..3d425cee0 100644 --- a/docs/Phaser.KeyCode.html +++ b/docs/Phaser.KeyCode.html @@ -6,7 +6,7 @@ Phaser CE Class: KeyCode - + @@ -187,7 +187,7 @@

Source:
- src/input/Keyboard.js line 695 + src/input/Keyboard.js line 695 @@ -277,7 +277,7 @@

Source:
- src/input/Keyboard.js line 697 + src/input/Keyboard.js line 697 @@ -339,7 +339,7 @@

Source:
- src/input/Keyboard.js line 949 + src/input/Keyboard.js line 949 @@ -401,7 +401,7 @@

Source:
- src/input/Keyboard.js line 700 + src/input/Keyboard.js line 700 @@ -463,7 +463,7 @@

Source:
- src/input/Keyboard.js line 931 + src/input/Keyboard.js line 931 @@ -525,7 +525,7 @@

Source:
- src/input/Keyboard.js line 922 + src/input/Keyboard.js line 922 @@ -587,7 +587,7 @@

Source:
- src/input/Keyboard.js line 703 + src/input/Keyboard.js line 703 @@ -649,7 +649,7 @@

Source:
- src/input/Keyboard.js line 952 + src/input/Keyboard.js line 952 @@ -711,7 +711,7 @@

Source:
- src/input/Keyboard.js line 937 + src/input/Keyboard.js line 937 @@ -773,7 +773,7 @@

Source:
- src/input/Keyboard.js line 925 + src/input/Keyboard.js line 925 @@ -835,7 +835,7 @@

Source:
- src/input/Keyboard.js line 898 + src/input/Keyboard.js line 898 @@ -897,7 +897,7 @@

Source:
- src/input/Keyboard.js line 904 + src/input/Keyboard.js line 904 @@ -959,7 +959,7 @@

Source:
- src/input/Keyboard.js line 946 + src/input/Keyboard.js line 946 @@ -1021,7 +1021,7 @@

Source:
- src/input/Keyboard.js line 706 + src/input/Keyboard.js line 706 @@ -1083,7 +1083,7 @@

Source:
- src/input/Keyboard.js line 994 + src/input/Keyboard.js line 994 @@ -1145,7 +1145,7 @@

Source:
- src/input/Keyboard.js line 982 + src/input/Keyboard.js line 982 @@ -1207,7 +1207,7 @@

Source:
- src/input/Keyboard.js line 709 + src/input/Keyboard.js line 709 @@ -1269,7 +1269,7 @@

Source:
- src/input/Keyboard.js line 799 + src/input/Keyboard.js line 799 @@ -1331,7 +1331,7 @@

Source:
- src/input/Keyboard.js line 967 + src/input/Keyboard.js line 967 @@ -1393,7 +1393,7 @@

Source:
- src/input/Keyboard.js line 940 + src/input/Keyboard.js line 940 @@ -1455,7 +1455,7 @@

Source:
- src/input/Keyboard.js line 901 + src/input/Keyboard.js line 901 @@ -1517,7 +1517,7 @@

Source:
- src/input/Keyboard.js line 955 + src/input/Keyboard.js line 955 @@ -1579,7 +1579,7 @@

Source:
- src/input/Keyboard.js line 712 + src/input/Keyboard.js line 712 @@ -1641,7 +1641,7 @@

Source:
- src/input/Keyboard.js line 853 + src/input/Keyboard.js line 853 @@ -1703,7 +1703,7 @@

Source:
- src/input/Keyboard.js line 856 + src/input/Keyboard.js line 856 @@ -1765,7 +1765,7 @@

Source:
- src/input/Keyboard.js line 859 + src/input/Keyboard.js line 859 @@ -1827,7 +1827,7 @@

Source:
- src/input/Keyboard.js line 862 + src/input/Keyboard.js line 862 @@ -1889,7 +1889,7 @@

Source:
- src/input/Keyboard.js line 865 + src/input/Keyboard.js line 865 @@ -1951,7 +1951,7 @@

Source:
- src/input/Keyboard.js line 868 + src/input/Keyboard.js line 868 @@ -2013,7 +2013,7 @@

Source:
- src/input/Keyboard.js line 871 + src/input/Keyboard.js line 871 @@ -2075,7 +2075,7 @@

Source:
- src/input/Keyboard.js line 874 + src/input/Keyboard.js line 874 @@ -2137,7 +2137,7 @@

Source:
- src/input/Keyboard.js line 877 + src/input/Keyboard.js line 877 @@ -2199,7 +2199,7 @@

Source:
- src/input/Keyboard.js line 880 + src/input/Keyboard.js line 880 @@ -2261,7 +2261,7 @@

Source:
- src/input/Keyboard.js line 883 + src/input/Keyboard.js line 883 @@ -2323,7 +2323,7 @@

Source:
- src/input/Keyboard.js line 886 + src/input/Keyboard.js line 886 @@ -2385,7 +2385,7 @@

Source:
- src/input/Keyboard.js line 889 + src/input/Keyboard.js line 889 @@ -2447,7 +2447,7 @@

Source:
- src/input/Keyboard.js line 892 + src/input/Keyboard.js line 892 @@ -2509,7 +2509,7 @@

Source:
- src/input/Keyboard.js line 895 + src/input/Keyboard.js line 895 @@ -2571,7 +2571,7 @@

Source:
- src/input/Keyboard.js line 790 + src/input/Keyboard.js line 790 @@ -2633,7 +2633,7 @@

Source:
- src/input/Keyboard.js line 787 + src/input/Keyboard.js line 787 @@ -2695,7 +2695,7 @@

Source:
- src/input/Keyboard.js line 715 + src/input/Keyboard.js line 715 @@ -2757,7 +2757,7 @@

Source:
- src/input/Keyboard.js line 718 + src/input/Keyboard.js line 718 @@ -2819,7 +2819,7 @@

Source:
- src/input/Keyboard.js line 997 + src/input/Keyboard.js line 997 @@ -2881,7 +2881,7 @@

Source:
- src/input/Keyboard.js line 970 + src/input/Keyboard.js line 970 @@ -2943,7 +2943,7 @@

Source:
- src/input/Keyboard.js line 721 + src/input/Keyboard.js line 721 @@ -3005,7 +3005,7 @@

Source:
- src/input/Keyboard.js line 991 + src/input/Keyboard.js line 991 @@ -3067,7 +3067,7 @@

Source:
- src/input/Keyboard.js line 724 + src/input/Keyboard.js line 724 @@ -3129,7 +3129,7 @@

Source:
- src/input/Keyboard.js line 727 + src/input/Keyboard.js line 727 @@ -3191,7 +3191,7 @@

Source:
- src/input/Keyboard.js line 730 + src/input/Keyboard.js line 730 @@ -3253,7 +3253,7 @@

Source:
- src/input/Keyboard.js line 973 + src/input/Keyboard.js line 973 @@ -3315,7 +3315,7 @@

Source:
- src/input/Keyboard.js line 733 + src/input/Keyboard.js line 733 @@ -3377,7 +3377,7 @@

Source:
- src/input/Keyboard.js line 988 + src/input/Keyboard.js line 988 @@ -3439,7 +3439,7 @@

Source:
- src/input/Keyboard.js line 736 + src/input/Keyboard.js line 736 @@ -3501,7 +3501,7 @@

Source:
- src/input/Keyboard.js line 802 + src/input/Keyboard.js line 802 @@ -3563,7 +3563,7 @@

Source:
- src/input/Keyboard.js line 1000 + src/input/Keyboard.js line 1000 @@ -3625,7 +3625,7 @@

Source:
- src/input/Keyboard.js line 805 + src/input/Keyboard.js line 805 @@ -3687,7 +3687,7 @@

Source:
- src/input/Keyboard.js line 808 + src/input/Keyboard.js line 808 @@ -3749,7 +3749,7 @@

Source:
- src/input/Keyboard.js line 811 + src/input/Keyboard.js line 811 @@ -3811,7 +3811,7 @@

Source:
- src/input/Keyboard.js line 814 + src/input/Keyboard.js line 814 @@ -3873,7 +3873,7 @@

Source:
- src/input/Keyboard.js line 817 + src/input/Keyboard.js line 817 @@ -3935,7 +3935,7 @@

Source:
- src/input/Keyboard.js line 820 + src/input/Keyboard.js line 820 @@ -3997,7 +3997,7 @@

Source:
- src/input/Keyboard.js line 823 + src/input/Keyboard.js line 823 @@ -4059,7 +4059,7 @@

Source:
- src/input/Keyboard.js line 826 + src/input/Keyboard.js line 826 @@ -4121,7 +4121,7 @@

Source:
- src/input/Keyboard.js line 829 + src/input/Keyboard.js line 829 @@ -4183,7 +4183,7 @@

Source:
- src/input/Keyboard.js line 832 + src/input/Keyboard.js line 832 @@ -4245,7 +4245,7 @@

Source:
- src/input/Keyboard.js line 838 + src/input/Keyboard.js line 838 @@ -4307,7 +4307,7 @@

Source:
- src/input/Keyboard.js line 847 + src/input/Keyboard.js line 847 @@ -4369,7 +4369,7 @@

Source:
- src/input/Keyboard.js line 850 + src/input/Keyboard.js line 850 @@ -4431,7 +4431,7 @@

Source:
- src/input/Keyboard.js line 841 + src/input/Keyboard.js line 841 @@ -4493,7 +4493,7 @@

Source:
- src/input/Keyboard.js line 835 + src/input/Keyboard.js line 835 @@ -4555,7 +4555,7 @@

Source:
- src/input/Keyboard.js line 844 + src/input/Keyboard.js line 844 @@ -4617,7 +4617,7 @@

Source:
- src/input/Keyboard.js line 739 + src/input/Keyboard.js line 739 @@ -4679,7 +4679,7 @@

Source:
- src/input/Keyboard.js line 778 + src/input/Keyboard.js line 778 @@ -4741,7 +4741,7 @@

Source:
- src/input/Keyboard.js line 919 + src/input/Keyboard.js line 919 @@ -4803,7 +4803,7 @@

Source:
- src/input/Keyboard.js line 742 + src/input/Keyboard.js line 742 @@ -4865,7 +4865,7 @@

Source:
- src/input/Keyboard.js line 964 + src/input/Keyboard.js line 964 @@ -4927,7 +4927,7 @@

Source:
- src/input/Keyboard.js line 961 + src/input/Keyboard.js line 961 @@ -4989,7 +4989,7 @@

Source:
- src/input/Keyboard.js line 910 + src/input/Keyboard.js line 910 @@ -5051,7 +5051,7 @@

Source:
- src/input/Keyboard.js line 985 + src/input/Keyboard.js line 985 @@ -5113,7 +5113,7 @@

Source:
- src/input/Keyboard.js line 745 + src/input/Keyboard.js line 745 @@ -5175,7 +5175,7 @@

Source:
- src/input/Keyboard.js line 913 + src/input/Keyboard.js line 913 @@ -5237,7 +5237,7 @@

Source:
- src/input/Keyboard.js line 928 + src/input/Keyboard.js line 928 @@ -5299,7 +5299,7 @@

Source:
- src/input/Keyboard.js line 748 + src/input/Keyboard.js line 748 @@ -5361,7 +5361,7 @@

Source:
- src/input/Keyboard.js line 979 + src/input/Keyboard.js line 979 @@ -5423,7 +5423,7 @@

Source:
- src/input/Keyboard.js line 751 + src/input/Keyboard.js line 751 @@ -5485,7 +5485,7 @@

Source:
- src/input/Keyboard.js line 796 + src/input/Keyboard.js line 796 @@ -5547,7 +5547,7 @@

Source:
- src/input/Keyboard.js line 943 + src/input/Keyboard.js line 943 @@ -5609,7 +5609,7 @@

Source:
- src/input/Keyboard.js line 793 + src/input/Keyboard.js line 793 @@ -5671,7 +5671,7 @@

Source:
- src/input/Keyboard.js line 958 + src/input/Keyboard.js line 958 @@ -5733,7 +5733,7 @@

Source:
- src/input/Keyboard.js line 754 + src/input/Keyboard.js line 754 @@ -5795,7 +5795,7 @@

Source:
- src/input/Keyboard.js line 934 + src/input/Keyboard.js line 934 @@ -5857,7 +5857,7 @@

Source:
- src/input/Keyboard.js line 784 + src/input/Keyboard.js line 784 @@ -5919,7 +5919,7 @@

Source:
- src/input/Keyboard.js line 916 + src/input/Keyboard.js line 916 @@ -5981,7 +5981,7 @@

Source:
- src/input/Keyboard.js line 781 + src/input/Keyboard.js line 781 @@ -6043,7 +6043,7 @@

Source:
- src/input/Keyboard.js line 757 + src/input/Keyboard.js line 757 @@ -6105,7 +6105,7 @@

Source:
- src/input/Keyboard.js line 907 + src/input/Keyboard.js line 907 @@ -6167,7 +6167,7 @@

Source:
- src/input/Keyboard.js line 976 + src/input/Keyboard.js line 976 @@ -6229,7 +6229,7 @@

Source:
- src/input/Keyboard.js line 760 + src/input/Keyboard.js line 760 @@ -6291,7 +6291,7 @@

Source:
- src/input/Keyboard.js line 763 + src/input/Keyboard.js line 763 @@ -6353,7 +6353,7 @@

Source:
- src/input/Keyboard.js line 766 + src/input/Keyboard.js line 766 @@ -6415,7 +6415,7 @@

Source:
- src/input/Keyboard.js line 769 + src/input/Keyboard.js line 769 @@ -6477,7 +6477,7 @@

Source:
- src/input/Keyboard.js line 772 + src/input/Keyboard.js line 772 @@ -6539,7 +6539,7 @@

Source:
- src/input/Keyboard.js line 775 + src/input/Keyboard.js line 775 @@ -6572,9 +6572,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6589,9 +6589,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6620,7 +6620,7 @@

- + diff --git a/docs/Phaser.Keyboard.html b/docs/Phaser.Keyboard.html index 87eb15e81..7e179c0b5 100644 --- a/docs/Phaser.Keyboard.html +++ b/docs/Phaser.Keyboard.html @@ -6,7 +6,7 @@ Phaser CE Class: Keyboard - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/input/Keyboard.js line 21 + src/input/Keyboard.js line 21 @@ -340,7 +340,7 @@
Type:
Source:
- src/input/Keyboard.js line 34 + src/input/Keyboard.js line 34 @@ -417,7 +417,7 @@
Type:
Source:
- src/input/Keyboard.js line 56 + src/input/Keyboard.js line 56 @@ -501,7 +501,7 @@
Type:
Source:
- src/input/Keyboard.js line 41 + src/input/Keyboard.js line 41 @@ -578,7 +578,7 @@
Type:
Source:
- src/input/Keyboard.js line 46 + src/input/Keyboard.js line 46 @@ -655,7 +655,7 @@
Type:
Source:
- src/input/Keyboard.js line 27 + src/input/Keyboard.js line 27 @@ -732,7 +732,7 @@
Type:
Source:
- src/input/Keyboard.js line 633 + src/input/Keyboard.js line 633 @@ -809,7 +809,7 @@
Type:
Source:
- src/input/Keyboard.js line 661 + src/input/Keyboard.js line 661 @@ -886,7 +886,7 @@
Type:
Source:
- src/input/Keyboard.js line 61 + src/input/Keyboard.js line 61 @@ -963,7 +963,7 @@
Type:
Source:
- src/input/Keyboard.js line 66 + src/input/Keyboard.js line 66 @@ -1040,7 +1040,7 @@
Type:
Source:
- src/input/Keyboard.js line 71 + src/input/Keyboard.js line 71 @@ -1117,7 +1117,7 @@
Type:
Source:
- src/input/Keyboard.js line 51 + src/input/Keyboard.js line 51 @@ -1381,7 +1381,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 122 + src/input/Keyboard.js line 122 @@ -1516,7 +1516,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 168 + src/input/Keyboard.js line 168 @@ -1684,7 +1684,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 335 + src/input/Keyboard.js line 335 @@ -1725,7 +1725,9 @@

A practical way to create an object containing user selected hotkeys.

For example,

-
addKeys( { 'up': Phaser.KeyCode.W, 'down': Phaser.KeyCode.S, 'left': Phaser.KeyCode.A, 'right': Phaser.KeyCode.D } );

would return an object containing properties (up, down, left and right) referring to Phaser.Key object.

+
addKeys( { 'up': Phaser.KeyCode.W, 'down': Phaser.KeyCode.S, 'left': Phaser.KeyCode.A, 'right': Phaser.KeyCode.D } );
+
+

would return an object containing properties (up, down, left and right) referring to Phaser.Key object.

@@ -1820,7 +1822,7 @@

Parameters:
Source:
- src/input/Keyboard.js line 190 + src/input/Keyboard.js line 190 @@ -1928,7 +1930,7 @@

Source:
- src/input/Keyboard.js line 376 + src/input/Keyboard.js line 376 @@ -2012,7 +2014,7 @@

Source:
- src/input/Keyboard.js line 235 + src/input/Keyboard.js line 235 @@ -2121,7 +2123,7 @@

Source:
- src/input/Keyboard.js line 317 + src/input/Keyboard.js line 317 @@ -2312,7 +2314,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 536 + src/input/Keyboard.js line 536 @@ -2470,7 +2472,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 610 + src/input/Keyboard.js line 610 @@ -2628,7 +2630,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 408 + src/input/Keyboard.js line 408 @@ -2762,7 +2764,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 449 + src/input/Keyboard.js line 449 @@ -2896,7 +2898,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 473 + src/input/Keyboard.js line 473 @@ -2980,7 +2982,7 @@

Source:
- src/input/Keyboard.js line 153 + src/input/Keyboard.js line 153 @@ -3114,7 +3116,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 217 + src/input/Keyboard.js line 217 @@ -3248,7 +3250,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 363 + src/input/Keyboard.js line 363 @@ -3402,7 +3404,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 511 + src/input/Keyboard.js line 511 @@ -3487,7 +3489,7 @@

Source:
- src/input/Keyboard.js line 248 + src/input/Keyboard.js line 248 @@ -3591,7 +3593,7 @@

Source:
- src/input/Keyboard.js line 297 + src/input/Keyboard.js line 297 @@ -3675,7 +3677,7 @@

Source:
- src/input/Keyboard.js line 388 + src/input/Keyboard.js line 388 @@ -3869,7 +3871,7 @@
Parameters:
Source:
- src/input/Keyboard.js line 559 + src/input/Keyboard.js line 559 @@ -3936,9 +3938,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3953,9 +3955,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3984,7 +3986,7 @@
Returns:
- + diff --git a/docs/Phaser.Line.html b/docs/Phaser.Line.html index 63792417c..77006aec7 100644 --- a/docs/Phaser.Line.html +++ b/docs/Phaser.Line.html @@ -6,7 +6,7 @@ Phaser CE Class: Line - + @@ -370,7 +370,7 @@
Parameters:
Source:
- src/geom/Line.js line 17 + src/geom/Line.js line 17 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Line.js line 406 + src/geom/Line.js line 406 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Line.js line 518 + src/geom/Line.js line 518 @@ -629,7 +629,7 @@
Type:
Source:
- src/geom/Line.js line 33 + src/geom/Line.js line 33 @@ -706,7 +706,7 @@
Type:
Source:
- src/geom/Line.js line 546 + src/geom/Line.js line 546 @@ -783,7 +783,7 @@
Type:
Source:
- src/geom/Line.js line 476 + src/geom/Line.js line 476 @@ -860,7 +860,7 @@
Type:
Source:
- src/geom/Line.js line 392 + src/geom/Line.js line 392 @@ -937,7 +937,7 @@
Type:
Source:
- src/geom/Line.js line 588 + src/geom/Line.js line 588 @@ -1014,7 +1014,7 @@
Type:
Source:
- src/geom/Line.js line 560 + src/geom/Line.js line 560 @@ -1091,7 +1091,7 @@
Type:
Source:
- src/geom/Line.js line 574 + src/geom/Line.js line 574 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/geom/Line.js line 434 + src/geom/Line.js line 434 @@ -1245,7 +1245,7 @@
Type:
Source:
- src/geom/Line.js line 490 + src/geom/Line.js line 490 @@ -1322,7 +1322,7 @@
Type:
Source:
- src/geom/Line.js line 420 + src/geom/Line.js line 420 @@ -1399,7 +1399,7 @@
Type:
Source:
- src/geom/Line.js line 28 + src/geom/Line.js line 28 @@ -1476,7 +1476,7 @@
Type:
Source:
- src/geom/Line.js line 504 + src/geom/Line.js line 504 @@ -1553,7 +1553,7 @@
Type:
Source:
- src/geom/Line.js line 39 + src/geom/Line.js line 39 @@ -1630,7 +1630,7 @@
Type:
Source:
- src/geom/Line.js line 532 + src/geom/Line.js line 532 @@ -1707,7 +1707,7 @@
Type:
Source:
- src/geom/Line.js line 448 + src/geom/Line.js line 448 @@ -1784,7 +1784,7 @@
Type:
Source:
- src/geom/Line.js line 462 + src/geom/Line.js line 462 @@ -1989,7 +1989,7 @@
Parameters:
Source:
- src/geom/Line.js line 775 + src/geom/Line.js line 775 @@ -2283,7 +2283,7 @@
Parameters:
Source:
- src/geom/Line.js line 659 + src/geom/Line.js line 659 @@ -2649,7 +2649,7 @@
Parameters:
Source:
- src/geom/Line.js line 602 + src/geom/Line.js line 602 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/geom/Line.js line 680 + src/geom/Line.js line 680 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/geom/Line.js line 842 + src/geom/Line.js line 842 @@ -3208,7 +3208,7 @@
Parameters:
Source:
- src/geom/Line.js line 225 + src/geom/Line.js line 225 @@ -3378,7 +3378,7 @@
Parameters:
Source:
- src/geom/Line.js line 368 + src/geom/Line.js line 368 @@ -3595,7 +3595,7 @@
Parameters:
Source:
- src/geom/Line.js line 309 + src/geom/Line.js line 309 @@ -3825,7 +3825,7 @@
Parameters:
Source:
- src/geom/Line.js line 105 + src/geom/Line.js line 105 @@ -4007,7 +4007,7 @@
Parameters:
Source:
- src/geom/Line.js line 72 + src/geom/Line.js line 72 @@ -4260,7 +4260,7 @@
Parameters:
Source:
- src/geom/Line.js line 81 + src/geom/Line.js line 81 @@ -4514,7 +4514,7 @@
Parameters:
Source:
- src/geom/Line.js line 173 + src/geom/Line.js line 173 @@ -4684,7 +4684,7 @@
Parameters:
Source:
- src/geom/Line.js line 206 + src/geom/Line.js line 206 @@ -4934,7 +4934,7 @@
Parameters:
Source:
- src/geom/Line.js line 250 + src/geom/Line.js line 250 @@ -5184,7 +5184,7 @@
Parameters:
Source:
- src/geom/Line.js line 266 + src/geom/Line.js line 266 @@ -5315,7 +5315,7 @@
Parameters:

A Phaser.Point, or any object with public x/y properties, that the values will be set in. - If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an object.

+If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an object.

@@ -5358,7 +5358,7 @@
Parameters:
Source:
- src/geom/Line.js line 287 + src/geom/Line.js line 287 @@ -5517,7 +5517,7 @@
Parameters:
Source:
- src/geom/Line.js line 191 + src/geom/Line.js line 191 @@ -5734,7 +5734,7 @@
Parameters:
Source:
- src/geom/Line.js line 125 + src/geom/Line.js line 125 @@ -6021,7 +6021,7 @@
Parameters:
Source:
- src/geom/Line.js line 151 + src/geom/Line.js line 151 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Line.js line 45 + src/geom/Line.js line 45 @@ -6386,9 +6386,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6403,9 +6403,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6434,7 +6434,7 @@
Returns:
- + diff --git a/docs/Phaser.LinkedList.html b/docs/Phaser.LinkedList.html index 9661d918d..103e47c81 100644 --- a/docs/Phaser.LinkedList.html +++ b/docs/Phaser.LinkedList.html @@ -6,7 +6,7 @@ Phaser CE Class: LinkedList - + @@ -186,7 +186,7 @@

Source:
- src/utils/LinkedList.js line 18 + src/utils/LinkedList.js line 18 @@ -291,7 +291,7 @@
Type:
Source:
- src/utils/LinkedList.js line 40 + src/utils/LinkedList.js line 40 @@ -368,7 +368,7 @@
Type:
Source:
- src/utils/LinkedList.js line 47 + src/utils/LinkedList.js line 47 @@ -445,7 +445,7 @@
Type:
Source:
- src/utils/LinkedList.js line 26 + src/utils/LinkedList.js line 26 @@ -522,7 +522,7 @@
Type:
Source:
- src/utils/LinkedList.js line 33 + src/utils/LinkedList.js line 33 @@ -599,7 +599,7 @@
Type:
Source:
- src/utils/LinkedList.js line 54 + src/utils/LinkedList.js line 54 @@ -727,7 +727,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 60 + src/utils/LinkedList.js line 60 @@ -886,7 +886,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 160 + src/utils/LinkedList.js line 160 @@ -1020,7 +1020,7 @@
Parameters:
Source:
- src/utils/LinkedList.js line 110 + src/utils/LinkedList.js line 110 @@ -1104,7 +1104,7 @@

Source:
- src/utils/LinkedList.js line 94 + src/utils/LinkedList.js line 94 @@ -1147,9 +1147,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1164,9 +1164,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1195,7 +1195,7 @@

- + diff --git a/docs/Phaser.Loader.html b/docs/Phaser.Loader.html index f08232805..8bd7be46f 100644 --- a/docs/Phaser.Loader.html +++ b/docs/Phaser.Loader.html @@ -6,7 +6,7 @@ Phaser CE Class: Loader - + @@ -235,7 +235,7 @@

Parameters:
Source:
- src/loader/Loader.js line 22 + src/loader/Loader.js line 22 @@ -336,7 +336,7 @@
Type:
Source:
- src/loader/Loader.js line 323 + src/loader/Loader.js line 323 @@ -409,7 +409,7 @@
Type:
Source:
- src/loader/Loader.js line 329 + src/loader/Loader.js line 329 @@ -482,7 +482,7 @@
Type:
Source:
- src/loader/Loader.js line 305 + src/loader/Loader.js line 305 @@ -555,7 +555,7 @@
Type:
Source:
- src/loader/Loader.js line 311 + src/loader/Loader.js line 311 @@ -628,7 +628,7 @@
Type:
Source:
- src/loader/Loader.js line 335 + src/loader/Loader.js line 335 @@ -701,7 +701,7 @@
Type:
Source:
- src/loader/Loader.js line 317 + src/loader/Loader.js line 317 @@ -820,7 +820,7 @@
Properties:
Source:
- src/loader/Loader.js line 228 + src/loader/Loader.js line 228 @@ -899,7 +899,7 @@
Type:
Source:
- src/loader/Loader.js line 84 + src/loader/Loader.js line 84 @@ -976,7 +976,7 @@
Type:
Source:
- src/loader/Loader.js line 37 + src/loader/Loader.js line 37 @@ -1056,7 +1056,7 @@
Type:
Source:
- src/loader/Loader.js line 75 + src/loader/Loader.js line 75 @@ -1134,7 +1134,7 @@
Type:
Source:
- src/loader/Loader.js line 211 + src/loader/Loader.js line 211 @@ -1211,7 +1211,7 @@
Type:
Source:
- src/loader/Loader.js line 30 + src/loader/Loader.js line 30 @@ -1288,7 +1288,7 @@
Type:
Source:
- src/loader/Loader.js line 58 + src/loader/Loader.js line 58 @@ -1319,8 +1319,11 @@

remove them from the headers object and the XHR request will not try to use them.

This object can also be used to set the X-Requested-With header to XMLHttpRequest (or any other value you need). To enable this do:

-
this.load.headers.requestedWith = 'XMLHttpRequest'

before adding anything to the Loader. The XHR loader will then call:

-
setRequestHeader('X-Requested-With', this.headers['requestedWith'])
+
this.load.headers.requestedWith = 'XMLHttpRequest'
+
+

before adding anything to the Loader. The XHR loader will then call:

+
setRequestHeader('X-Requested-With', this.headers['requestedWith'])
+
@@ -1378,7 +1381,7 @@

Type:
Source:
- src/loader/Loader.js line 129 + src/loader/Loader.js line 129 @@ -1455,7 +1458,7 @@
Type:
Source:
- src/loader/Loader.js line 51 + src/loader/Loader.js line 51 @@ -1534,7 +1537,7 @@
Type:
Source:
- src/loader/Loader.js line 222 + src/loader/Loader.js line 222 @@ -1612,7 +1615,7 @@
Type:
Source:
- src/loader/Loader.js line 149 + src/loader/Loader.js line 149 @@ -1692,7 +1695,7 @@
Type:
Source:
- src/loader/Loader.js line 191 + src/loader/Loader.js line 191 @@ -1771,7 +1774,7 @@
Type:
Source:
- src/loader/Loader.js line 202 + src/loader/Loader.js line 202 @@ -1850,7 +1853,7 @@
Type:
Source:
- src/loader/Loader.js line 178 + src/loader/Loader.js line 178 @@ -1928,7 +1931,7 @@
Type:
Source:
- src/loader/Loader.js line 157 + src/loader/Loader.js line 157 @@ -2006,7 +2009,7 @@
Type:
Source:
- src/loader/Loader.js line 141 + src/loader/Loader.js line 141 @@ -2085,7 +2088,7 @@
Type:
Source:
- src/loader/Loader.js line 168 + src/loader/Loader.js line 168 @@ -2115,7 +2118,9 @@

load.path = "images/sprites/";
 load.image("ball", "ball.png");
 load.image("tree", "level1/oaktree.png");
-load.image("boom", "http://server.com/explode.png");

Would load the ball file from images/sprites/ball.png and the tree from +load.image("boom", "http://server.com/explode.png"); + +

Would load the ball file from images/sprites/ball.png and the tree from images/sprites/level1/oaktree.png but the file boom would load from the URL given as it's an absolute URL.

Please note that the path is added before the filename but after the baseURL (if set.)

@@ -2170,7 +2175,7 @@

Type:
Source:
- src/loader/Loader.js line 106 + src/loader/Loader.js line 106 @@ -2248,7 +2253,7 @@
Type:
Source:
- src/loader/Loader.js line 68 + src/loader/Loader.js line 68 @@ -2363,7 +2368,7 @@
Properties:
Source:
- src/loader/Loader.js line 3292 + src/loader/Loader.js line 3292 @@ -2480,7 +2485,7 @@
Properties:
Source:
- src/loader/Loader.js line 3273 + src/loader/Loader.js line 3273 @@ -2557,7 +2562,7 @@
Type:
Source:
- src/loader/Loader.js line 44 + src/loader/Loader.js line 44 @@ -2710,7 +2715,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1921 + src/loader/Loader.js line 1921 @@ -3083,7 +3088,7 @@
Parameters:
Source:
- src/loader/Loader.js line 522 + src/loader/Loader.js line 522 @@ -3405,7 +3410,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1784 + src/loader/Loader.js line 1784 @@ -3694,7 +3699,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1635 + src/loader/Loader.js line 1635 @@ -3983,7 +3988,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1682 + src/loader/Loader.js line 1682 @@ -4272,7 +4277,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1729 + src/loader/Loader.js line 1729 @@ -4453,9 +4458,9 @@
Parameters:

Either a single string or an array of URIs or pairs of {uri: .., type: ..}. - If an array is specified then the first URI (or URI + mime pair) that is device-compatible will be selected. - For example: "jump.mp3", ['jump.mp3', 'jump.ogg', 'jump.m4a'], or [{uri: "data:<opus_resource>", type: 'opus'}, 'fallback.mp3']. - BLOB and DATA URIs can be used but only support automatic detection when used in the pair form; otherwise the format must be manually checked before adding the resource.

+If an array is specified then the first URI (or URI + mime pair) that is device-compatible will be selected. +For example: "jump.mp3", ['jump.mp3', 'jump.ogg', 'jump.m4a'], or [{uri: "data:<opus_resource>", type: 'opus'}, 'fallback.mp3']. +BLOB and DATA URIs can be used but only support automatic detection when used in the pair form; otherwise the format must be manually checked before adding the resource.

@@ -4496,7 +4501,7 @@
Parameters:

When using Web Audio the audio files can either be decoded at load time or run-time. - Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

+Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

@@ -4539,7 +4544,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1182 + src/loader/Loader.js line 1182 @@ -4833,7 +4838,7 @@
Parameters:

When using Web Audio the audio files can either be decoded at load time or run-time. - Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

+Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

@@ -4876,7 +4881,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1286 + src/loader/Loader.js line 1286 @@ -5176,7 +5181,7 @@
Parameters:

When using Web Audio the audio files can either be decoded at load time or run-time. - Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

+Audio files can't be played until they are decoded and, if specified, this enables immediate decoding. Decoding is a non-blocking async process, however it consumes huge amounts of CPU time on mobiles especially.

@@ -5219,7 +5224,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1226 + src/loader/Loader.js line 1226 @@ -5519,7 +5524,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1076 + src/loader/Loader.js line 1076 @@ -5898,7 +5903,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1541 + src/loader/Loader.js line 1541 @@ -6081,7 +6086,7 @@
Parameters:
Source:
- src/loader/Loader.js line 393 + src/loader/Loader.js line 393 @@ -6264,7 +6269,7 @@
Parameters:
Source:
- src/loader/Loader.js line 446 + src/loader/Loader.js line 446 @@ -6291,7 +6296,7 @@
Returns:

Returns an object if found that has 2 properties: index and file; otherwise a non-true value is returned. - The index may change and should only be used immediately following this call.

+The index may change and should only be used immediately following this call.

@@ -6448,7 +6453,7 @@
Parameters:
Source:
- src/loader/Loader.js line 410 + src/loader/Loader.js line 410 @@ -6475,7 +6480,7 @@
Returns:

The index of this key in the filelist, or -1 if not found. - The index may change and should only be used immediately following this call

+The index may change and should only be used immediately following this call

@@ -6535,7 +6540,9 @@

s3tc: 'assets/factory_dxt1.pvr', pvrtc: 'assets/factory_pvrtc.pvr', truecolor: 'assets/factory.png' -});

The truecolor property points to a standard PNG file, that will be used if none of the +}); + +

The truecolor property points to a standard PNG file, that will be used if none of the compressed formats are supported by the browser / GPU.

@@ -6728,7 +6735,7 @@

Parameters:
Source:
- src/loader/Loader.js line 703 + src/loader/Loader.js line 703 @@ -6978,7 +6985,7 @@
Parameters:
Source:
- src/loader/Loader.js line 766 + src/loader/Loader.js line 766 @@ -7086,7 +7093,7 @@

Source:
- src/loader/Loader.js line 782 + src/loader/Loader.js line 782 @@ -7177,7 +7184,7 @@

Source:
- src/loader/Loader.js line 795 + src/loader/Loader.js line 795 @@ -7371,7 +7378,7 @@
Parameters:
Source:
- src/loader/Loader.js line 881 + src/loader/Loader.js line 881 @@ -7631,7 +7638,7 @@
Parameters:
Source:
- src/loader/Loader.js line 955 + src/loader/Loader.js line 955 @@ -7928,7 +7935,7 @@
Parameters:
Source:
- src/loader/Loader.js line 622 + src/loader/Loader.js line 622 @@ -8234,7 +8241,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1479 + src/loader/Loader.js line 1479 @@ -8342,7 +8349,7 @@

Source:
- src/loader/Loader.js line 1970 + src/loader/Loader.js line 1970 @@ -8501,7 +8508,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1945 + src/loader/Loader.js line 1945 @@ -8707,7 +8714,7 @@
Parameters:
Source:
- src/loader/Loader.js line 605 + src/loader/Loader.js line 605 @@ -8903,7 +8910,7 @@
Parameters:
Source:
- src/loader/Loader.js line 471 + src/loader/Loader.js line 471 @@ -8988,7 +8995,7 @@

Source:
- src/loader/Loader.js line 375 + src/loader/Loader.js line 375 @@ -9265,7 +9272,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1040 + src/loader/Loader.js line 1040 @@ -9485,7 +9492,7 @@
Parameters:
Source:
- src/loader/Loader.js line 339 + src/loader/Loader.js line 339 @@ -9720,7 +9727,7 @@
Parameters:
Source:
- src/loader/Loader.js line 984 + src/loader/Loader.js line 984 @@ -9809,7 +9816,9 @@

. margin spacing -# sprite frame

spacing must be on only the right and bottom edges of each frame, including the last row and column.

+# sprite frame + +

spacing must be on only the right and bottom edges of each frame, including the last row and column.

The first sprite frame is found at (margin) px from the left of the image. The second sprite frame is found at (margin + frameWidth + spacing) px from the left of the image, and so on.

@@ -10190,7 +10199,7 @@

Parameters:
Source:
- src/loader/Loader.js line 1115 + src/loader/Loader.js line 1115 @@ -10298,7 +10307,7 @@

Source:
- src/loader/Loader.js line 1984 + src/loader/Loader.js line 1984 @@ -10533,7 +10542,7 @@
Parameters:
Source:
- src/loader/Loader.js line 927 + src/loader/Loader.js line 927 @@ -10609,7 +10618,9 @@

s3tc: 'assets/factory_dxt1.pvr', pvrtc: 'assets/factory_pvrtc.pvr', truecolor: 'assets/factory.png' -});

The truecolor property points to a standard PNG file, that will be used if none of the +}); + +

The truecolor property points to a standard PNG file, that will be used if none of the compressed formats are supported by the browser / GPU.

The file is not loaded immediately after calling this method. The file is added to the queue ready to be loaded when the loader starts.

The key must be a unique String. It is used to add the file to the Phaser.Cache upon successful load.

@@ -10804,7 +10815,7 @@

Parameters:
Source:
- src/loader/Loader.js line 808 + src/loader/Loader.js line 808 @@ -11111,7 +11122,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1360 + src/loader/Loader.js line 1360 @@ -11347,7 +11358,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1443 + src/loader/Loader.js line 1443 @@ -11593,7 +11604,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1461 + src/loader/Loader.js line 1461 @@ -11708,7 +11719,7 @@

Source:
- src/loader/Loader.js line 3215 + src/loader/Loader.js line 3215 @@ -11816,7 +11827,7 @@

Source:
- src/loader/Loader.js line 3243 + src/loader/Loader.js line 3243 @@ -11924,7 +11935,7 @@

Source:
- src/loader/Loader.js line 3229 + src/loader/Loader.js line 3229 @@ -12032,7 +12043,7 @@

Source:
- src/loader/Loader.js line 3257 + src/loader/Loader.js line 3257 @@ -12215,7 +12226,7 @@
Parameters:
Source:
- src/loader/Loader.js line 2324 + src/loader/Loader.js line 2324 @@ -12394,9 +12405,9 @@
Parameters:

Either a single string or an array of URIs or pairs of {uri: .., type: ..}. - If an array is specified then the first URI (or URI + mime pair) that is device-compatible will be selected. - For example: "boom.mp4", ['boom.mp4', 'boom.ogg', 'boom.webm'], or [{uri: "data:<opus_resource>", type: 'opus'}, 'fallback.mp4']. - BLOB and DATA URIs can be used but only support automatic detection when used in the pair form; otherwise the format must be manually checked before adding the resource.

+If an array is specified then the first URI (or URI + mime pair) that is device-compatible will be selected. +For example: "boom.mp4", ['boom.mp4', 'boom.ogg', 'boom.webm'], or [{uri: "data:<opus_resource>", type: 'opus'}, 'fallback.mp4']. +BLOB and DATA URIs can be used but only support automatic detection when used in the pair form; otherwise the format must be manually checked before adding the resource.

@@ -12437,10 +12448,10 @@
Parameters:

This sets the Video source event to listen for before the load is considered complete. - 'canplaythrough' implies the video has downloaded enough, and bandwidth is high enough that it can be played to completion. - 'canplay' implies the video has downloaded enough to start playing, but not necessarily to finish. - 'loadeddata' just makes sure that the video meta data and first frame have downloaded. Phaser uses this value automatically if the - browser is detected as being Firefox and no loadEvent is given, otherwise it defaults to canplaythrough.

+'canplaythrough' implies the video has downloaded enough, and bandwidth is high enough that it can be played to completion. +'canplay' implies the video has downloaded enough to start playing, but not necessarily to finish. +'loadeddata' just makes sure that the video meta data and first frame have downloaded. Phaser uses this value automatically if the +browser is detected as being Firefox and no loadEvent is given, otherwise it defaults to canplaythrough.

@@ -12481,8 +12492,8 @@
Parameters:

Video files can either be loaded via the creation of a video element which has its src property set. - Or they can be loaded via xhr, stored as binary data in memory and then converted to a Blob. This isn't supported in IE9 or Android 2. - If you need to have the same video playing at different times across multiple Sprites then you need to load it as a Blob.

+Or they can be loaded via xhr, stored as binary data in memory and then converted to a Blob. This isn't supported in IE9 or Android 2. +If you need to have the same video playing at different times across multiple Sprites then you need to load it as a Blob.

@@ -12525,7 +12536,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1305 + src/loader/Loader.js line 1305 @@ -12743,7 +12754,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1891 + src/loader/Loader.js line 1891 @@ -13002,7 +13013,7 @@
Parameters:
Source:
- src/loader/Loader.js line 1012 + src/loader/Loader.js line 1012 @@ -13069,9 +13080,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -13086,9 +13097,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -13117,7 +13128,7 @@
Returns:
- + diff --git a/docs/Phaser.LoaderParser.html b/docs/Phaser.LoaderParser.html index e1499075a..b24cda194 100644 --- a/docs/Phaser.LoaderParser.html +++ b/docs/Phaser.LoaderParser.html @@ -6,7 +6,7 @@ Phaser CE Class: LoaderParser - + @@ -180,7 +180,7 @@

Source:
- src/loader/LoaderParser.js line 12 + src/loader/LoaderParser.js line 12 @@ -542,7 +542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 14 + src/loader/LoaderParser.js line 14 @@ -700,7 +700,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 361 + src/loader/LoaderParser.js line 361 @@ -1068,7 +1068,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 128 + src/loader/LoaderParser.js line 128 @@ -1226,7 +1226,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 469 + src/loader/LoaderParser.js line 469 @@ -1384,7 +1384,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 574 + src/loader/LoaderParser.js line 574 @@ -1542,7 +1542,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 254 + src/loader/LoaderParser.js line 254 @@ -1910,7 +1910,7 @@
Parameters:
Source:
- src/loader/LoaderParser.js line 33 + src/loader/LoaderParser.js line 33 @@ -1977,9 +1977,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1994,9 +1994,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2025,7 +2025,7 @@
Returns:
- + diff --git a/docs/Phaser.MSPointer.html b/docs/Phaser.MSPointer.html index 5506c83b7..5dce816c3 100644 --- a/docs/Phaser.MSPointer.html +++ b/docs/Phaser.MSPointer.html @@ -6,7 +6,7 @@ Phaser CE Class: MSPointer - + @@ -141,11 +141,16 @@

normalises all game input for you including accurate button handling.

Phaser does not yet support chorded button interactions.

You can disable Phaser's use of Pointer Events by any of three ways:

-
new Phaser.Game({ mspointer: false });
// **Before** `new Phaser.Game(…)`:
+
new Phaser.Game({ mspointer: false });
+
+
// **Before** `new Phaser.Game(…)`:
 Phaser.Device.onInitialized.add(function () {
     this.mspointer = false;
-});
// Once, in the earliest State `init` or `create` callback (e.g., Boot):
-this.input.mspointer.stop();
+}); +
+
// Once, in the earliest State `init` or `create` callback (e.g., Boot):
+this.input.mspointer.stop();
+
@@ -240,7 +245,7 @@

Parameters:
Source:
- src/input/MSPointer.js line 39 + src/input/MSPointer.js line 39 @@ -345,7 +350,7 @@
Type:
Source:
- src/input/MSPointer.js line 113 + src/input/MSPointer.js line 113 @@ -422,7 +427,7 @@
Type:
Source:
- src/input/MSPointer.js line 56 + src/input/MSPointer.js line 56 @@ -505,7 +510,7 @@
Type:
Source:
- src/input/MSPointer.js line 97 + src/input/MSPointer.js line 97 @@ -596,7 +601,7 @@
Type:
Source:
- src/input/MSPointer.js line 120 + src/input/MSPointer.js line 120 @@ -680,7 +685,7 @@
Type:
Source:
- src/input/MSPointer.js line 105 + src/input/MSPointer.js line 105 @@ -757,7 +762,7 @@
Type:
Source:
- src/input/MSPointer.js line 45 + src/input/MSPointer.js line 45 @@ -834,7 +839,7 @@
Type:
Source:
- src/input/MSPointer.js line 51 + src/input/MSPointer.js line 51 @@ -911,7 +916,7 @@
Type:
Source:
- src/input/MSPointer.js line 61 + src/input/MSPointer.js line 61 @@ -988,7 +993,7 @@
Type:
Source:
- src/input/MSPointer.js line 66 + src/input/MSPointer.js line 66 @@ -1065,7 +1070,7 @@
Type:
Source:
- src/input/MSPointer.js line 76 + src/input/MSPointer.js line 76 @@ -1142,7 +1147,7 @@
Type:
Source:
- src/input/MSPointer.js line 81 + src/input/MSPointer.js line 81 @@ -1219,7 +1224,7 @@
Type:
Source:
- src/input/MSPointer.js line 71 + src/input/MSPointer.js line 71 @@ -1296,7 +1301,7 @@
Type:
Source:
- src/input/MSPointer.js line 127 + src/input/MSPointer.js line 127 @@ -1424,7 +1429,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 251 + src/input/MSPointer.js line 251 @@ -1558,7 +1563,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 292 + src/input/MSPointer.js line 292 @@ -1692,7 +1697,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 455 + src/input/MSPointer.js line 455 @@ -1826,7 +1831,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 397 + src/input/MSPointer.js line 397 @@ -1960,7 +1965,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 330 + src/input/MSPointer.js line 330 @@ -2094,7 +2099,7 @@
Parameters:
Source:
- src/input/MSPointer.js line 370 + src/input/MSPointer.js line 370 @@ -2178,7 +2183,7 @@

Source:
- src/input/MSPointer.js line 169 + src/input/MSPointer.js line 169 @@ -2262,7 +2267,7 @@

Source:
- src/input/MSPointer.js line 494 + src/input/MSPointer.js line 494 @@ -2305,9 +2310,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2322,9 +2327,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2353,7 +2358,7 @@

- + diff --git a/docs/Phaser.Math.html b/docs/Phaser.Math.html index 13fe26b82..2826bb48e 100644 --- a/docs/Phaser.Math.html +++ b/docs/Phaser.Math.html @@ -6,7 +6,7 @@ Phaser CE Class: Math - + @@ -181,7 +181,7 @@

Source:
- src/math/Math.js line 17 + src/math/Math.js line 17 @@ -337,7 +337,7 @@
Properties:
Source:
- src/math/Math.js line 37 + src/math/Math.js line 37 @@ -463,7 +463,7 @@
Properties:
Source:
- src/math/Math.js line 31 + src/math/Math.js line 31 @@ -589,7 +589,7 @@
Properties:
Source:
- src/math/Math.js line 24 + src/math/Math.js line 24 @@ -708,7 +708,7 @@
Properties:
Source:
- src/math/Math.js line 43 + src/math/Math.js line 43 @@ -908,7 +908,7 @@
Parameters:
Source:
- src/math/Math.js line 585 + src/math/Math.js line 585 @@ -1090,7 +1090,7 @@
Parameters:
Source:
- src/math/Math.js line 622 + src/math/Math.js line 622 @@ -1272,7 +1272,7 @@
Parameters:
Source:
- src/math/Math.js line 637 + src/math/Math.js line 637 @@ -1504,7 +1504,7 @@
Parameters:
Source:
- src/math/Math.js line 602 + src/math/Math.js line 602 @@ -1612,7 +1612,7 @@

Source:
- src/math/Math.js line 271 + src/math/Math.js line 271 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/math/Math.js line 1048 + src/math/Math.js line 1048 @@ -1969,7 +1969,7 @@
Parameters:
Source:
- src/math/Math.js line 149 + src/math/Math.js line 149 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/math/Math.js line 968 + src/math/Math.js line 968 @@ -2405,7 +2405,7 @@
Parameters:
Source:
- src/math/Math.js line 1086 + src/math/Math.js line 1086 @@ -2583,7 +2583,7 @@
Parameters:
Source:
- src/math/Math.js line 991 + src/math/Math.js line 991 @@ -2838,7 +2838,7 @@
Parameters:
Source:
- src/math/Math.js line 460 + src/math/Math.js line 460 @@ -3044,7 +3044,7 @@
Parameters:
Source:
- src/math/Math.js line 1258 + src/math/Math.js line 1258 @@ -3227,7 +3227,7 @@
Parameters:
Source:
- src/math/Math.js line 1285 + src/math/Math.js line 1285 @@ -3381,7 +3381,7 @@
Parameters:
Source:
- src/math/Math.js line 45 + src/math/Math.js line 45 @@ -3563,7 +3563,7 @@
Parameters:
Source:
- src/math/Math.js line 1110 + src/math/Math.js line 1110 @@ -3793,7 +3793,7 @@
Parameters:
Source:
- src/math/Math.js line 1197 + src/math/Math.js line 1197 @@ -4115,7 +4115,7 @@
Parameters:
Source:
- src/math/Math.js line 1238 + src/math/Math.js line 1238 @@ -4346,7 +4346,7 @@
Parameters:
Source:
- src/math/Math.js line 1217 + src/math/Math.js line 1217 @@ -4500,7 +4500,7 @@
Parameters:
Source:
- src/math/Math.js line 1062 + src/math/Math.js line 1062 @@ -4751,7 +4751,7 @@
Parameters:
Source:
- src/math/Math.js line 438 + src/math/Math.js line 438 @@ -4965,7 +4965,7 @@
Parameters:
Source:
- src/math/Math.js line 237 + src/math/Math.js line 237 @@ -5215,7 +5215,7 @@
Parameters:
Source:
- src/math/Math.js line 183 + src/math/Math.js line 183 @@ -5429,7 +5429,7 @@
Parameters:
Source:
- src/math/Math.js line 254 + src/math/Math.js line 254 @@ -5679,7 +5679,7 @@
Parameters:
Source:
- src/math/Math.js line 219 + src/math/Math.js line 219 @@ -5929,7 +5929,7 @@
Parameters:
Source:
- src/math/Math.js line 201 + src/math/Math.js line 201 @@ -6088,7 +6088,7 @@
Parameters:
Source:
- src/math/Math.js line 73 + src/math/Math.js line 73 @@ -6276,7 +6276,7 @@
Parameters:
Source:
- src/math/Math.js line 554 + src/math/Math.js line 554 @@ -6458,7 +6458,7 @@
Parameters:
Source:
- src/math/Math.js line 1182 + src/math/Math.js line 1182 @@ -6616,7 +6616,7 @@
Parameters:
Source:
- src/math/Math.js line 781 + src/math/Math.js line 781 @@ -6774,7 +6774,7 @@
Parameters:
Source:
- src/math/Math.js line 766 + src/math/Math.js line 766 @@ -6956,7 +6956,7 @@
Parameters:
Source:
- src/math/Math.js line 103 + src/math/Math.js line 103 @@ -7162,7 +7162,7 @@
Parameters:
Source:
- src/math/Math.js line 1032 + src/math/Math.js line 1032 @@ -7340,7 +7340,7 @@
Parameters:
Source:
- src/math/Math.js line 939 + src/math/Math.js line 939 @@ -7403,7 +7403,7 @@

-

Linear mapping from range to range

+

Linear mapping from range <a1, a2> to range <b1, b2>

@@ -7479,7 +7479,7 @@

Parameters:
-

First endpoint of the range

+

First endpoint of the range <a1, a2>

@@ -7503,7 +7503,7 @@
Parameters:
-

Final endpoint of the range

+

Final endpoint of the range <a1, a2>

@@ -7527,7 +7527,7 @@
Parameters:
-

First endpoint of the range

+

First endpoint of the range <b1, b2>

@@ -7551,7 +7551,7 @@
Parameters:
-

Final endpoint of the range

+

Final endpoint of the range <b1, b2>

@@ -7594,7 +7594,7 @@
Parameters:
Source:
- src/math/Math.js line 1318 + src/math/Math.js line 1318 @@ -7699,7 +7699,7 @@

Source:
- src/math/Math.js line 829 + src/math/Math.js line 829 @@ -7912,7 +7912,7 @@
Parameters:
Source:
- src/math/Math.js line 678 + src/math/Math.js line 678 @@ -8021,7 +8021,7 @@

Source:
- src/math/Math.js line 893 + src/math/Math.js line 893 @@ -8130,7 +8130,7 @@

Source:
- src/math/Math.js line 796 + src/math/Math.js line 796 @@ -8246,7 +8246,7 @@

Source:
- src/math/Math.js line 862 + src/math/Math.js line 862 @@ -8452,7 +8452,7 @@
Parameters:
Source:
- src/math/Math.js line 694 + src/math/Math.js line 694 @@ -8610,7 +8610,7 @@
Parameters:
Source:
- src/math/Math.js line 664 + src/math/Math.js line 664 @@ -8860,7 +8860,7 @@
Parameters:
Source:
- src/math/Math.js line 1390 + src/math/Math.js line 1390 @@ -9018,7 +9018,7 @@
Parameters:
Source:
- src/math/Math.js line 59 + src/math/Math.js line 59 @@ -9201,7 +9201,7 @@
Parameters:
Source:
- src/math/Math.js line 118 + src/math/Math.js line 118 @@ -9359,7 +9359,7 @@
Parameters:
Source:
- src/math/Math.js line 651 + src/math/Math.js line 651 @@ -9610,7 +9610,7 @@
Parameters:
Source:
- src/math/Math.js line 502 + src/math/Math.js line 502 @@ -9768,7 +9768,7 @@
Parameters:
Source:
- src/math/Math.js line 1125 + src/math/Math.js line 1125 @@ -9833,7 +9833,7 @@

Round to some place comparative to a base, default is 10 for decimal place. The place is represented by the power applied to base to get that place.

-
e.g. 2000/7 ~= 285.714285714285714285714 ~= (bin)100011101.1011011011011011
+
e.g. 2000/7 ~= 285.714285714285714285714 ~= (bin)100011101.1011011011011011
 
 roundTo(2000/7,3) === 0
 roundTo(2000/7,2) == 300
@@ -9853,7 +9853,9 @@ 

roundTo(2000/7,-2,2) == 285.75 -- 100011101.11 roundTo(2000/7,-3,2) == 285.75 -- 100011101.11 roundTo(2000/7,-4,2) == 285.6875 -- 100011101.1011 -roundTo(2000/7,-5,2) == 285.71875 -- 100011101.10111

Note what occurs when we round to the 3rd space (8ths place), 100100000, this is to be assumed +roundTo(2000/7,-5,2) == 285.71875 -- 100011101.10111 +

+

Note what occurs when we round to the 3rd space (8ths place), 100100000, this is to be assumed because we are rounding 100011.1011011011011011 which rounds up.

@@ -10045,7 +10047,7 @@

Parameters:
Source:
- src/math/Math.js line 391 + src/math/Math.js line 391 @@ -10199,7 +10201,7 @@
Parameters:
Source:
- src/math/Math.js line 293 + src/math/Math.js line 293 @@ -10358,7 +10360,7 @@
Parameters:
Source:
- src/math/Math.js line 1374 + src/math/Math.js line 1374 @@ -10591,7 +10593,7 @@
Parameters:
Source:
- src/math/Math.js line 1140 + src/math/Math.js line 1140 @@ -10797,7 +10799,7 @@
Parameters:
Source:
- src/math/Math.js line 1356 + src/math/Math.js line 1356 @@ -11003,7 +11005,7 @@
Parameters:
Source:
- src/math/Math.js line 1336 + src/math/Math.js line 1336 @@ -11254,7 +11256,7 @@
Parameters:
Source:
- src/math/Math.js line 305 + src/math/Math.js line 305 @@ -11506,7 +11508,7 @@
Parameters:
Source:
- src/math/Math.js line 362 + src/math/Math.js line 362 @@ -11758,7 +11760,7 @@
Parameters:
Source:
- src/math/Math.js line 333 + src/math/Math.js line 333 @@ -11917,7 +11919,7 @@
Parameters:
Source:
- src/math/Math.js line 482 + src/math/Math.js line 482 @@ -12123,7 +12125,7 @@
Parameters:
Source:
- src/math/Math.js line 1301 + src/math/Math.js line 1301 @@ -12337,7 +12339,7 @@
Parameters:
Source:
- src/math/Math.js line 710 + src/math/Math.js line 710 @@ -12551,7 +12553,7 @@
Parameters:
Source:
- src/math/Math.js line 924 + src/math/Math.js line 924 @@ -12758,7 +12760,7 @@
Parameters:
Source:
- src/math/Math.js line 742 + src/math/Math.js line 742 @@ -12825,9 +12827,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -12842,9 +12844,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -12873,7 +12875,7 @@
Returns:
- + diff --git a/docs/Phaser.Matrix.html b/docs/Phaser.Matrix.html index 9bd125553..c82c8428b 100644 --- a/docs/Phaser.Matrix.html +++ b/docs/Phaser.Matrix.html @@ -6,7 +6,7 @@ Phaser CE Class: Matrix - + @@ -454,7 +454,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 26 + src/geom/Matrix.js line 26 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Matrix.js line 40 + src/geom/Matrix.js line 40 @@ -642,7 +642,7 @@
Type:
Source:
- src/geom/Matrix.js line 46 + src/geom/Matrix.js line 46 @@ -722,7 +722,7 @@
Type:
Source:
- src/geom/Matrix.js line 52 + src/geom/Matrix.js line 52 @@ -802,7 +802,7 @@
Type:
Source:
- src/geom/Matrix.js line 58 + src/geom/Matrix.js line 58 @@ -882,7 +882,7 @@
Type:
Source:
- src/geom/Matrix.js line 64 + src/geom/Matrix.js line 64 @@ -962,7 +962,7 @@
Type:
Source:
- src/geom/Matrix.js line 70 + src/geom/Matrix.js line 70 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/geom/Matrix.js line 76 + src/geom/Matrix.js line 76 @@ -1167,7 +1167,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 357 + src/geom/Matrix.js line 357 @@ -1370,7 +1370,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 240 + src/geom/Matrix.js line 240 @@ -1573,7 +1573,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 262 + src/geom/Matrix.js line 262 @@ -1745,7 +1745,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 131 + src/geom/Matrix.js line 131 @@ -1903,7 +1903,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 177 + src/geom/Matrix.js line 177 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 161 + src/geom/Matrix.js line 161 @@ -2226,7 +2226,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 82 + src/geom/Matrix.js line 82 @@ -2334,7 +2334,7 @@

Source:
- src/geom/Matrix.js line 384 + src/geom/Matrix.js line 384 @@ -2492,7 +2492,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 329 + src/geom/Matrix.js line 329 @@ -2674,7 +2674,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 307 + src/geom/Matrix.js line 307 @@ -2952,7 +2952,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 105 + src/geom/Matrix.js line 105 @@ -3168,7 +3168,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 198 + src/geom/Matrix.js line 198 @@ -3351,7 +3351,7 @@
Parameters:
Source:
- src/geom/Matrix.js line 288 + src/geom/Matrix.js line 288 @@ -3418,9 +3418,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3435,9 +3435,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3466,7 +3466,7 @@
Returns:
- + diff --git a/docs/Phaser.Mouse.html b/docs/Phaser.Mouse.html index 084b8df0e..b275e373e 100644 --- a/docs/Phaser.Mouse.html +++ b/docs/Phaser.Mouse.html @@ -6,7 +6,7 @@ Phaser CE Class: Mouse - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/input/Mouse.js line 21 + src/input/Mouse.js line 21 @@ -336,7 +336,7 @@
Type:
Source:
- src/input/Mouse.js line 167 + src/input/Mouse.js line 167 @@ -409,7 +409,7 @@
Type:
Source:
- src/input/Mouse.js line 173 + src/input/Mouse.js line 173 @@ -482,7 +482,7 @@
Type:
Source:
- src/input/Mouse.js line 149 + src/input/Mouse.js line 149 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Mouse.js line 155 + src/input/Mouse.js line 155 @@ -628,7 +628,7 @@
Type:
Source:
- src/input/Mouse.js line 143 + src/input/Mouse.js line 143 @@ -701,7 +701,7 @@
Type:
Source:
- src/input/Mouse.js line 161 + src/input/Mouse.js line 161 @@ -812,7 +812,7 @@
Properties:
Source:
- src/input/Mouse.js line 80 + src/input/Mouse.js line 80 @@ -898,7 +898,7 @@
Type:
Source:
- src/input/Mouse.js line 38 + src/input/Mouse.js line 38 @@ -975,7 +975,7 @@
Type:
Source:
- src/input/Mouse.js line 72 + src/input/Mouse.js line 72 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/input/Mouse.js line 89 + src/input/Mouse.js line 89 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/input/Mouse.js line 105 + src/input/Mouse.js line 105 @@ -1219,7 +1219,7 @@
Type:
Source:
- src/input/Mouse.js line 27 + src/input/Mouse.js line 27 @@ -1296,7 +1296,7 @@
Type:
Source:
- src/input/Mouse.js line 33 + src/input/Mouse.js line 33 @@ -1374,7 +1374,7 @@
Type:
Source:
- src/input/Mouse.js line 45 + src/input/Mouse.js line 45 @@ -1452,7 +1452,7 @@
Type:
Source:
- src/input/Mouse.js line 60 + src/input/Mouse.js line 60 @@ -1530,7 +1530,7 @@
Type:
Source:
- src/input/Mouse.js line 67 + src/input/Mouse.js line 67 @@ -1608,7 +1608,7 @@
Type:
Source:
- src/input/Mouse.js line 52 + src/input/Mouse.js line 52 @@ -1686,7 +1686,7 @@
Type:
Source:
- src/input/Mouse.js line 97 + src/input/Mouse.js line 97 @@ -1814,7 +1814,7 @@
Parameters:
Source:
- src/input/Mouse.js line 256 + src/input/Mouse.js line 256 @@ -1948,7 +1948,7 @@
Parameters:
Source:
- src/input/Mouse.js line 287 + src/input/Mouse.js line 287 @@ -2082,7 +2082,7 @@
Parameters:
Source:
- src/input/Mouse.js line 410 + src/input/Mouse.js line 410 @@ -2216,7 +2216,7 @@
Parameters:
Source:
- src/input/Mouse.js line 372 + src/input/Mouse.js line 372 @@ -2350,7 +2350,7 @@
Parameters:
Source:
- src/input/Mouse.js line 451 + src/input/Mouse.js line 451 @@ -2484,7 +2484,7 @@
Parameters:
Source:
- src/input/Mouse.js line 318 + src/input/Mouse.js line 318 @@ -2618,7 +2618,7 @@
Parameters:
Source:
- src/input/Mouse.js line 349 + src/input/Mouse.js line 349 @@ -2702,7 +2702,7 @@

Source:
- src/input/Mouse.js line 177 + src/input/Mouse.js line 177 @@ -2812,7 +2812,7 @@

Source:
- src/input/Mouse.js line 483 + src/input/Mouse.js line 483 @@ -2855,9 +2855,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2872,9 +2872,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2903,7 +2903,7 @@

- + diff --git a/docs/Phaser.MouseWheel.html b/docs/Phaser.MouseWheel.html index d00d6b80d..e82c9b102 100644 --- a/docs/Phaser.MouseWheel.html +++ b/docs/Phaser.MouseWheel.html @@ -6,7 +6,7 @@ Phaser CE Class: MouseWheel - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/input/MouseWheel.js line 7 + src/input/MouseWheel.js line 7 @@ -331,7 +331,7 @@
Type:
Source:
- src/input/MouseWheel.js line 105 + src/input/MouseWheel.js line 105 @@ -404,7 +404,7 @@
Type:
Source:
- src/input/MouseWheel.js line 99 + src/input/MouseWheel.js line 99 @@ -481,7 +481,7 @@
Type:
Source:
- src/input/MouseWheel.js line 42 + src/input/MouseWheel.js line 42 @@ -568,7 +568,7 @@
Type:
Source:
- src/input/MouseWheel.js line 49 + src/input/MouseWheel.js line 49 @@ -646,7 +646,7 @@
Type:
Source:
- src/input/MouseWheel.js line 56 + src/input/MouseWheel.js line 56 @@ -724,7 +724,7 @@
Type:
Source:
- src/input/MouseWheel.js line 65 + src/input/MouseWheel.js line 65 @@ -801,7 +801,7 @@
Type:
Source:
- src/input/MouseWheel.js line 26 + src/input/MouseWheel.js line 26 @@ -878,7 +878,7 @@
Type:
Source:
- src/input/MouseWheel.js line 14 + src/input/MouseWheel.js line 14 @@ -955,7 +955,7 @@
Type:
Source:
- src/input/MouseWheel.js line 20 + src/input/MouseWheel.js line 20 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/input/MouseWheel.js line 33 + src/input/MouseWheel.js line 33 @@ -1117,7 +1117,7 @@

Source:
- src/input/MouseWheel.js line 107 + src/input/MouseWheel.js line 107 @@ -1227,7 +1227,7 @@

Source:
- src/input/MouseWheel.js line 137 + src/input/MouseWheel.js line 137 @@ -1270,9 +1270,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1287,9 +1287,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1318,7 +1318,7 @@

- + diff --git a/docs/Phaser.Net.html b/docs/Phaser.Net.html index 68a92baa1..62d1cf075 100644 --- a/docs/Phaser.Net.html +++ b/docs/Phaser.Net.html @@ -6,7 +6,7 @@ Phaser CE Class: Net - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/net/Net.js line 14 + src/net/Net.js line 14 @@ -385,7 +385,7 @@
Parameters:
Source:
- src/net/Net.js line 41 + src/net/Net.js line 41 @@ -544,7 +544,7 @@
Parameters:
Source:
- src/net/Net.js line 157 + src/net/Net.js line 157 @@ -652,7 +652,7 @@

Source:
- src/net/Net.js line 23 + src/net/Net.js line 23 @@ -827,7 +827,7 @@
Parameters:
Source:
- src/net/Net.js line 120 + src/net/Net.js line 120 @@ -1063,7 +1063,7 @@
Parameters:
Source:
- src/net/Net.js line 56 + src/net/Net.js line 56 @@ -1130,9 +1130,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1147,9 +1147,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1178,7 +1178,7 @@
Returns:
- + diff --git a/docs/Phaser.Particle.html b/docs/Phaser.Particle.html index f96d70f84..1e5bb4cde 100644 --- a/docs/Phaser.Particle.html +++ b/docs/Phaser.Particle.html @@ -6,7 +6,7 @@ Phaser CE Class: Particle - + @@ -338,7 +338,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 19 + src/gameobjects/Particle.js line 19 @@ -474,7 +474,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -575,7 +575,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -652,7 +652,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 52 + src/gameobjects/Particle.js line 52 @@ -742,7 +742,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 29 + src/pixi/display/Sprite.js line 29 @@ -770,9 +770,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -833,7 +833,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -920,7 +920,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -1004,7 +1004,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 46 + src/gameobjects/Particle.js line 46 @@ -1094,7 +1094,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -1171,7 +1171,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 28 + src/gameobjects/Particle.js line 28 @@ -1265,7 +1265,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 94 + src/pixi/display/Sprite.js line 94 @@ -1291,13 +1291,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -1368,7 +1368,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1548,7 +1548,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1635,7 +1635,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1722,7 +1722,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1835,7 +1835,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -1901,7 +1901,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -2073,7 +2073,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -2100,7 +2100,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -2161,7 +2161,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -2257,7 +2257,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2343,7 +2343,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2430,7 +2430,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2517,7 +2517,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 43 + src/gameobjects/components/Delta.js line 43 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 60 + src/gameobjects/components/Delta.js line 60 @@ -2629,7 +2629,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2690,7 +2690,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2777,7 +2777,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2877,7 +2877,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 113 + src/pixi/display/Sprite.js line 113 @@ -2963,7 +2963,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -3054,7 +3054,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -3080,11 +3080,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -3147,7 +3147,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -3238,7 +3238,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -3265,7 +3265,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -3329,7 +3329,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -3416,7 +3416,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -3502,7 +3502,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3596,7 +3596,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 26 + src/gameobjects/components/Health.js line 26 @@ -3682,7 +3682,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3778,7 +3778,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3866,7 +3866,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3953,7 +3953,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 24 + src/gameobjects/components/InputEnabled.js line 24 @@ -4137,7 +4137,7 @@
Type:
Source:
- src/gameobjects/components/InputEnabled.js line 42 + src/gameobjects/components/InputEnabled.js line 42 @@ -4223,7 +4223,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -4325,7 +4325,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -4412,7 +4412,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -4502,7 +4502,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -4591,7 +4591,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4685,7 +4685,7 @@
Type:
Source:
- src/gameobjects/components/Health.js line 35 + src/gameobjects/components/Health.js line 35 @@ -4772,7 +4772,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4860,7 +4860,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4948,7 +4948,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -5034,7 +5034,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -5121,7 +5121,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -5210,7 +5210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -5299,7 +5299,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -5385,7 +5385,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 62 + src/gameobjects/Sprite.js line 62 @@ -5472,7 +5472,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -5560,7 +5560,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -5646,7 +5646,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -5732,7 +5732,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -5819,7 +5819,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -5906,7 +5906,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -5993,7 +5993,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -6082,7 +6082,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -6171,7 +6171,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -6248,7 +6248,7 @@
Type:
Source:
- src/gameobjects/Particle.js line 34 + src/gameobjects/Particle.js line 34 @@ -6336,7 +6336,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -6424,7 +6424,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -6518,7 +6518,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 104 + src/pixi/display/Sprite.js line 104 @@ -6606,7 +6606,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -6692,7 +6692,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 37 + src/pixi/display/Sprite.js line 37 @@ -6785,7 +6785,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 64 + src/pixi/display/Sprite.js line 64 @@ -6878,7 +6878,7 @@
Type:
Source:
- src/pixi/display/Sprite.js line 83 + src/pixi/display/Sprite.js line 83 @@ -6965,7 +6965,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -7051,7 +7051,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -7137,7 +7137,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -7223,7 +7223,7 @@
Type:
Source:
- src/gameobjects/Sprite.js line 56 + src/gameobjects/Sprite.js line 56 @@ -7322,7 +7322,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -7408,7 +7408,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -7496,7 +7496,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -7588,7 +7588,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -7679,7 +7679,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -7770,7 +7770,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -7861,7 +7861,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -7952,7 +7952,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -8125,7 +8125,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -8212,7 +8212,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -8301,7 +8301,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -8438,7 +8438,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -8629,7 +8629,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -8972,7 +8972,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -9316,7 +9316,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -9436,7 +9436,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -9603,7 +9603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -9666,9 +9666,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -9829,7 +9829,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9973,7 +9973,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 46 + src/gameobjects/components/Health.js line 46 @@ -10092,7 +10092,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -10337,7 +10337,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -10512,7 +10512,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 213 + src/pixi/display/Sprite.js line 213 @@ -10679,7 +10679,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -10846,7 +10846,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -10963,7 +10963,7 @@

Source:
- src/pixi/display/Sprite.js line 328 + src/pixi/display/Sprite.js line 328 @@ -11130,7 +11130,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 92 + src/gameobjects/components/Health.js line 92 @@ -11251,7 +11251,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -11318,10 +11318,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -11536,7 +11536,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -11577,7 +11577,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -11632,7 +11632,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -11752,7 +11752,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -11860,7 +11860,7 @@

Source:
- src/gameobjects/Particle.js line 104 + src/gameobjects/Particle.js line 104 @@ -11899,7 +11899,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -12019,7 +12019,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -12325,7 +12325,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -12442,7 +12442,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -12535,7 +12535,7 @@

Source:
- src/gameobjects/Sprite.js line 108 + src/gameobjects/Sprite.js line 108 @@ -12652,7 +12652,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -12795,7 +12795,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -12962,7 +12962,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -13153,7 +13153,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -13386,7 +13386,7 @@
Parameters:
Source:
- src/gameobjects/Particle.js line 146 + src/gameobjects/Particle.js line 146 @@ -13503,7 +13503,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -13696,7 +13696,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -13861,7 +13861,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -13981,7 +13981,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -14089,7 +14089,7 @@

Source:
- src/gameobjects/Particle.js line 114 + src/gameobjects/Particle.js line 114 @@ -14256,7 +14256,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -14400,7 +14400,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -14544,7 +14544,7 @@
Parameters:
Source:
- src/gameobjects/components/Health.js line 71 + src/gameobjects/components/Health.js line 71 @@ -14652,7 +14652,7 @@

Source:
- src/gameobjects/Particle.js line 130 + src/gameobjects/Particle.js line 130 @@ -14889,7 +14889,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -15089,7 +15089,7 @@
Parameters:
Source:
- src/pixi/display/Sprite.js line 177 + src/pixi/display/Sprite.js line 177 @@ -15256,7 +15256,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -15399,7 +15399,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -15612,7 +15612,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -15727,7 +15727,7 @@

Source:
- src/gameobjects/Particle.js line 65 + src/gameobjects/Particle.js line 65 @@ -15820,7 +15820,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -15940,7 +15940,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -16103,7 +16103,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -16172,9 +16172,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -16189,9 +16189,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -16220,7 +16220,7 @@
Returns:

- + diff --git a/docs/Phaser.Particles.Arcade.Emitter.html b/docs/Phaser.Particles.Arcade.Emitter.html index 1ec6c2aca..54ffb2e26 100644 --- a/docs/Phaser.Particles.Arcade.Emitter.html +++ b/docs/Phaser.Particles.Arcade.Emitter.html @@ -6,7 +6,7 @@ Phaser CE Class: Emitter - + @@ -368,7 +368,7 @@

Parameters:
Source:
- src/particles/arcade/Emitter.js line 20 + src/particles/arcade/Emitter.js line 20 @@ -505,7 +505,7 @@
Type:
Source:
- src/core/Group.js line 92 + src/core/Group.js line 92 @@ -591,7 +591,7 @@
Type:
Source:
- src/core/Group.js line 3339 + src/core/Group.js line 3339 @@ -668,7 +668,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 140 + src/particles/arcade/Emitter.js line 140 @@ -757,7 +757,7 @@
Type:
Source:
- src/core/Group.js line 2985 + src/core/Group.js line 2985 @@ -834,7 +834,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 157 + src/particles/arcade/Emitter.js line 157 @@ -911,7 +911,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 58 + src/particles/arcade/Emitter.js line 58 @@ -988,7 +988,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 218 + src/particles/arcade/Emitter.js line 218 @@ -1065,7 +1065,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 213 + src/particles/arcade/Emitter.js line 213 @@ -1142,7 +1142,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 192 + src/particles/arcade/Emitter.js line 192 @@ -1224,7 +1224,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1200 + src/particles/arcade/Emitter.js line 1200 @@ -1301,7 +1301,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 174 + src/particles/arcade/Emitter.js line 174 @@ -1394,7 +1394,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1481,7 +1481,7 @@
Type:
Source:
- src/core/Group.js line 278 + src/core/Group.js line 278 @@ -1569,7 +1569,7 @@
Type:
Source:
- src/core/Group.js line 3010 + src/core/Group.js line 3010 @@ -1657,7 +1657,7 @@
Type:
Source:
- src/core/Group.js line 3040 + src/core/Group.js line 3040 @@ -1743,7 +1743,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1837,7 +1837,7 @@
Type:
Source:
- src/core/Group.js line 128 + src/core/Group.js line 128 @@ -2073,7 +2073,7 @@
Properties
Source:
- src/particles/arcade/Emitter.js line 239 + src/particles/arcade/Emitter.js line 239 @@ -2156,7 +2156,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1256 + src/particles/arcade/Emitter.js line 1256 @@ -2242,7 +2242,7 @@
Type:
Source:
- src/core/Group.js line 261 + src/core/Group.js line 261 @@ -2321,7 +2321,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 200 + src/particles/arcade/Emitter.js line 200 @@ -2400,7 +2400,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 208 + src/particles/arcade/Emitter.js line 208 @@ -2488,7 +2488,7 @@
Type:
Source:
- src/core/Group.js line 214 + src/core/Group.js line 214 @@ -2575,7 +2575,7 @@
Type:
Source:
- src/core/Group.js line 223 + src/core/Group.js line 223 @@ -2673,7 +2673,7 @@
Type:
Source:
- src/core/Group.js line 99 + src/core/Group.js line 99 @@ -2759,7 +2759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2850,7 +2850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2938,7 +2938,7 @@
Type:
Source:
- src/core/Group.js line 271 + src/core/Group.js line 271 @@ -3022,7 +3022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 163 + src/particles/arcade/Emitter.js line 163 @@ -3108,7 +3108,7 @@
Type:
Source:
- src/core/Group.js line 39 + src/core/Group.js line 39 @@ -3185,7 +3185,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1049 + src/particles/arcade/Emitter.js line 1049 @@ -3275,7 +3275,7 @@
Type:
Source:
- src/core/Group.js line 291 + src/core/Group.js line 291 @@ -3357,7 +3357,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1104 + src/particles/arcade/Emitter.js line 1104 @@ -3453,7 +3453,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3530,7 +3530,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1075 + src/particles/arcade/Emitter.js line 1075 @@ -3618,7 +3618,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3704,7 +3704,7 @@
Type:
Source:
- src/core/Group.js line 106 + src/core/Group.js line 106 @@ -3792,7 +3792,7 @@
Type:
Source:
- src/core/Group.js line 147 + src/core/Group.js line 147 @@ -3874,7 +3874,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1158 + src/particles/arcade/Emitter.js line 1158 @@ -3960,7 +3960,7 @@
Type:
Source:
- src/core/Group.js line 2967 + src/core/Group.js line 2967 @@ -4044,7 +4044,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 169 + src/particles/arcade/Emitter.js line 169 @@ -4121,7 +4121,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1228 + src/particles/arcade/Emitter.js line 1228 @@ -4210,7 +4210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4287,7 +4287,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 70 + src/particles/arcade/Emitter.js line 70 @@ -4371,7 +4371,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 135 + src/particles/arcade/Emitter.js line 135 @@ -4448,7 +4448,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 27 + src/particles/arcade/Emitter.js line 27 @@ -4532,7 +4532,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 106 + src/particles/arcade/Emitter.js line 106 @@ -4609,7 +4609,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 94 + src/particles/arcade/Emitter.js line 94 @@ -4693,7 +4693,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 123 + src/particles/arcade/Emitter.js line 123 @@ -4777,7 +4777,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 82 + src/particles/arcade/Emitter.js line 82 @@ -4854,7 +4854,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 64 + src/particles/arcade/Emitter.js line 64 @@ -4938,7 +4938,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 129 + src/particles/arcade/Emitter.js line 129 @@ -5022,7 +5022,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 100 + src/particles/arcade/Emitter.js line 100 @@ -5099,7 +5099,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 88 + src/particles/arcade/Emitter.js line 88 @@ -5176,7 +5176,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 117 + src/particles/arcade/Emitter.js line 117 @@ -5253,7 +5253,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 76 + src/particles/arcade/Emitter.js line 76 @@ -5335,7 +5335,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 40 + src/particles/arcade/Emitter.js line 40 @@ -5412,7 +5412,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 180 + src/particles/arcade/Emitter.js line 180 @@ -5502,7 +5502,7 @@
Type:
Source:
- src/core/Group.js line 167 + src/core/Group.js line 167 @@ -5592,7 +5592,7 @@
Type:
Source:
- src/core/Group.js line 204 + src/core/Group.js line 204 @@ -5682,7 +5682,7 @@
Type:
Source:
- src/core/Group.js line 192 + src/core/Group.js line 192 @@ -5773,7 +5773,7 @@
Type:
Source:
- src/core/Group.js line 180 + src/core/Group.js line 180 @@ -5859,7 +5859,7 @@
Type:
Source:
- src/core/Group.js line 255 + src/core/Group.js line 255 @@ -5936,7 +5936,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1214 + src/particles/arcade/Emitter.js line 1214 @@ -6025,7 +6025,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -6102,7 +6102,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 186 + src/particles/arcade/Emitter.js line 186 @@ -6179,7 +6179,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 224 + src/particles/arcade/Emitter.js line 224 @@ -6256,7 +6256,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 146 + src/particles/arcade/Emitter.js line 146 @@ -6333,7 +6333,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 151 + src/particles/arcade/Emitter.js line 151 @@ -6410,7 +6410,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 230 + src/particles/arcade/Emitter.js line 230 @@ -6500,7 +6500,7 @@
Type:
Source:
- src/core/Group.js line 118 + src/core/Group.js line 118 @@ -6587,7 +6587,7 @@
Type:
Source:
- src/core/Group.js line 231 + src/core/Group.js line 231 @@ -6680,7 +6680,7 @@
Type:
Source:
- src/core/Group.js line 249 + src/core/Group.js line 249 @@ -6762,7 +6762,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 52 + src/particles/arcade/Emitter.js line 52 @@ -6849,7 +6849,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -6937,7 +6937,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -7014,7 +7014,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1242 + src/particles/arcade/Emitter.js line 1242 @@ -7101,7 +7101,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -7183,7 +7183,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1172 + src/particles/arcade/Emitter.js line 1172 @@ -7271,7 +7271,7 @@
Type:
Source:
- src/core/Group.js line 3323 + src/core/Group.js line 3323 @@ -7360,7 +7360,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -7437,7 +7437,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 111 + src/particles/arcade/Emitter.js line 111 @@ -7519,7 +7519,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1186 + src/particles/arcade/Emitter.js line 1186 @@ -7605,7 +7605,7 @@
Type:
Source:
- src/core/Group.js line 2949 + src/core/Group.js line 2949 @@ -7687,7 +7687,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 46 + src/particles/arcade/Emitter.js line 46 @@ -7773,7 +7773,7 @@
Type:
Source:
- src/core/Group.js line 155 + src/core/Group.js line 155 @@ -7864,7 +7864,7 @@
Type:
Source:
- src/core/Group.js line 3332 + src/core/Group.js line 3332 @@ -7946,7 +7946,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1086 + src/particles/arcade/Emitter.js line 1086 @@ -8038,7 +8038,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -8129,7 +8129,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -8220,7 +8220,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -8311,7 +8311,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -8402,7 +8402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -8488,7 +8488,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -8570,7 +8570,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1122 + src/particles/arcade/Emitter.js line 1122 @@ -8652,7 +8652,7 @@
Type:
Source:
- src/particles/arcade/Emitter.js line 1140 + src/particles/arcade/Emitter.js line 1140 @@ -8739,7 +8739,7 @@
Type:
Source:
- src/core/Group.js line 58 + src/core/Group.js line 58 @@ -8977,7 +8977,7 @@
Parameters:
Source:
- src/core/Group.js line 347 + src/core/Group.js line 347 @@ -9255,7 +9255,7 @@
Parameters:
Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -9497,7 +9497,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -9664,7 +9664,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -9855,7 +9855,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -10086,7 +10086,7 @@
Parameters:
Source:
- src/core/Group.js line 499 + src/core/Group.js line 499 @@ -10257,7 +10257,7 @@
Parameters:
Source:
- src/core/Group.js line 447 + src/core/Group.js line 447 @@ -10652,7 +10652,7 @@
Parameters:
Source:
- src/core/Group.js line 705 + src/core/Group.js line 705 @@ -10995,7 +10995,7 @@
Parameters:
Source:
- src/core/Group.js line 3190 + src/core/Group.js line 3190 @@ -11339,7 +11339,7 @@
Parameters:
Source:
- src/core/Group.js line 3232 + src/core/Group.js line 3232 @@ -11530,7 +11530,7 @@
Parameters:
Source:
- src/core/Group.js line 2128 + src/core/Group.js line 2128 @@ -11680,7 +11680,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 1023 + src/particles/arcade/Emitter.js line 1023 @@ -11847,7 +11847,7 @@
Parameters:
Source:
- src/core/Group.js line 935 + src/core/Group.js line 935 @@ -12110,7 +12110,7 @@
Parameters:
Source:
- src/core/Group.js line 1710 + src/core/Group.js line 1710 @@ -12330,7 +12330,7 @@
Parameters:
Source:
- src/core/Group.js line 1622 + src/core/Group.js line 1622 @@ -12521,7 +12521,7 @@
Parameters:
Source:
- src/core/Group.js line 1659 + src/core/Group.js line 1659 @@ -12837,7 +12837,7 @@
Parameters:
Source:
- src/core/Group.js line 1409 + src/core/Group.js line 1409 @@ -13139,7 +13139,7 @@
Parameters:
Source:
- src/core/Group.js line 1446 + src/core/Group.js line 1446 @@ -13436,7 +13436,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -13603,7 +13603,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -13790,7 +13790,7 @@
Parameters:
Source:
- src/core/Group.js line 2559 + src/core/Group.js line 2559 @@ -13907,7 +13907,7 @@

Source:
- src/core/Group.js line 2587 + src/core/Group.js line 2587 @@ -14024,7 +14024,7 @@

Source:
- src/core/Group.js line 2574 + src/core/Group.js line 2574 @@ -14418,7 +14418,7 @@
Parameters:
Source:
- src/core/Group.js line 556 + src/core/Group.js line 556 @@ -14825,7 +14825,7 @@
Parameters:
Source:
- src/core/Group.js line 594 + src/core/Group.js line 594 @@ -15038,7 +15038,7 @@
Parameters:
Source:
- src/core/Group.js line 2103 + src/core/Group.js line 2103 @@ -15205,7 +15205,7 @@
Parameters:
Source:
- src/core/Group.js line 2159 + src/core/Group.js line 2159 @@ -15294,7 +15294,7 @@

Source:
- src/particles/arcade/Emitter.js line 808 + src/particles/arcade/Emitter.js line 808 @@ -15510,7 +15510,7 @@
Parameters:
Source:
- src/core/Group.js line 1535 + src/core/Group.js line 1535 @@ -15776,7 +15776,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 624 + src/particles/arcade/Emitter.js line 624 @@ -15994,7 +15994,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 479 + src/particles/arcade/Emitter.js line 479 @@ -16059,10 +16059,12 @@

Find children matching a certain predicate.

For example:

-
var healthyList = Group.filter(function(child, index, children) {
-    return child.health > 10 ? true : false;
+
var healthyList = Group.filter(function(child, index, children) {
+    return child.health > 10 ? true : false;
 }, true);
-healthyList.callAll('attack');

Note: Currently this will skip any children which are Groups themselves.

+healthyList.callAll('attack'); +
+

Note: Currently this will skip any children which are Groups themselves.

@@ -16222,7 +16224,7 @@

Parameters:
Source:
- src/core/Group.js line 1875 + src/core/Group.js line 1875 @@ -16566,7 +16568,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 503 + src/particles/arcade/Emitter.js line 503 @@ -16631,7 +16633,9 @@

Call a function on each child in this group.

Additional arguments for the callback can be specified after the checkExists parameter. For example,

-
Group.forEach(awardBonusGold, this, true, 100, 500)

would invoke awardBonusGold function with the parameters (child, 100, 500).

+
Group.forEach(awardBonusGold, this, true, 100, 500)
+
+

would invoke awardBonusGold function with the parameters (child, 100, 500).

Note: This check will skip any children which are Groups themselves.

@@ -16870,7 +16874,7 @@

Parameters:
Source:
- src/core/Group.js line 1916 + src/core/Group.js line 1916 @@ -17108,7 +17112,7 @@
Parameters:
Source:
- src/core/Group.js line 2004 + src/core/Group.js line 2004 @@ -17346,7 +17350,7 @@
Parameters:
Source:
- src/core/Group.js line 2033 + src/core/Group.js line 2033 @@ -17584,7 +17588,7 @@
Parameters:
Source:
- src/core/Group.js line 1975 + src/core/Group.js line 1975 @@ -17829,7 +17833,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -18137,7 +18141,7 @@
Parameters:
Source:
- src/core/Group.js line 2644 + src/core/Group.js line 2644 @@ -18306,7 +18310,7 @@
Parameters:
Source:
- src/core/Group.js line 535 + src/core/Group.js line 535 @@ -18427,7 +18431,7 @@

Source:
- src/core/Group.js line 2451 + src/core/Group.js line 2451 @@ -18609,7 +18613,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -18778,7 +18782,7 @@
Parameters:
Source:
- src/core/Group.js line 1089 + src/core/Group.js line 1089 @@ -18945,7 +18949,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -19112,7 +19116,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -19363,7 +19367,7 @@
Parameters:
Source:
- src/core/Group.js line 2469 + src/core/Group.js line 2469 @@ -19554,7 +19558,7 @@
Parameters:
Source:
- src/core/Group.js line 2281 + src/core/Group.js line 2281 @@ -19913,7 +19917,7 @@
Parameters:
Source:
- src/core/Group.js line 2331 + src/core/Group.js line 2331 @@ -20272,7 +20276,7 @@
Parameters:
Source:
- src/core/Group.js line 2362 + src/core/Group.js line 2362 @@ -20670,7 +20674,7 @@
Parameters:
Source:
- src/core/Group.js line 2296 + src/core/Group.js line 2296 @@ -20921,7 +20925,7 @@
Parameters:
Source:
- src/core/Group.js line 2514 + src/core/Group.js line 2514 @@ -21088,7 +21092,7 @@
Parameters:
Source:
- src/core/Group.js line 1075 + src/core/Group.js line 1075 @@ -21205,7 +21209,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -21432,7 +21436,7 @@
Parameters:
Source:
- src/core/Group.js line 2600 + src/core/Group.js line 2600 @@ -21660,7 +21664,7 @@
Parameters:
Source:
- src/core/Group.js line 2623 + src/core/Group.js line 2623 @@ -21778,7 +21782,7 @@

Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -21970,7 +21974,7 @@
Parameters:
Source:
- src/core/Group.js line 1145 + src/core/Group.js line 1145 @@ -22039,12 +22043,12 @@

The result depends on the returnType:

  • RETURN_TOTAL: - The callback, if any, is applied to all matching children. The number of matched children is returned.
  • +The callback, if any, is applied to all matching children. The number of matched children is returned.
  • RETURN_NONE: - The callback, if any, is applied to all matching children. No value is returned.
  • +The callback, if any, is applied to all matching children. No value is returned.
  • RETURN_CHILD: - The callback, if any, is applied to the first matching child and the first matched child is returned. - If there is no matching child then null is returned.
  • +The callback, if any, is applied to the first matching child and the first matched child is returned. +If there is no matching child then null is returned.

If args is specified it must be an array. The matched child will be assigned to the first element and the entire array will be applied to the callback function.

@@ -22357,7 +22361,7 @@

Parameters:
Source:
- src/core/Group.js line 2185 + src/core/Group.js line 2185 @@ -22470,7 +22474,7 @@

Source:
- src/particles/arcade/Emitter.js line 446 + src/particles/arcade/Emitter.js line 446 @@ -22587,7 +22591,7 @@

Source:
- src/core/Group.js line 1567 + src/core/Group.js line 1567 @@ -22942,7 +22946,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 380 + src/particles/arcade/Emitter.js line 380 @@ -23165,7 +23169,7 @@
Parameters:
Source:
- src/core/Group.js line 2740 + src/core/Group.js line 2740 @@ -23332,7 +23336,7 @@
Parameters:
Source:
- src/core/Group.js line 1012 + src/core/Group.js line 1012 @@ -23499,7 +23503,7 @@
Parameters:
Source:
- src/core/Group.js line 987 + src/core/Group.js line 987 @@ -23739,7 +23743,7 @@
Parameters:
Source:
- src/core/Group.js line 1517 + src/core/Group.js line 1517 @@ -23828,7 +23832,7 @@

Source:
- src/particles/arcade/Emitter.js line 1267 + src/particles/arcade/Emitter.js line 1267 @@ -23945,7 +23949,7 @@

Source:
- src/core/Group.js line 1853 + src/core/Group.js line 1853 @@ -24038,7 +24042,7 @@

Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -24127,7 +24131,7 @@

Source:
- src/particles/arcade/Emitter.js line 1276 + src/particles/arcade/Emitter.js line 1276 @@ -24392,7 +24396,7 @@
Parameters:
Source:
- src/core/Group.js line 2691 + src/core/Group.js line 2691 @@ -24662,7 +24666,7 @@
Parameters:
Source:
- src/core/Group.js line 2770 + src/core/Group.js line 2770 @@ -24939,7 +24943,7 @@
Parameters:
Source:
- src/core/Group.js line 2819 + src/core/Group.js line 2819 @@ -25082,7 +25086,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -25249,7 +25253,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -25440,7 +25444,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -25584,7 +25588,7 @@
Parameters:
Source:
- src/core/Group.js line 473 + src/core/Group.js line 473 @@ -25777,7 +25781,7 @@
Parameters:
Source:
- src/core/Group.js line 1105 + src/core/Group.js line 1105 @@ -26131,7 +26135,7 @@
Parameters:
Source:
- src/core/Group.js line 1605 + src/core/Group.js line 1605 @@ -26437,7 +26441,7 @@
Parameters:
Source:
- src/core/Group.js line 2393 + src/core/Group.js line 2393 @@ -26625,7 +26629,7 @@
Parameters:
Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -26743,7 +26747,7 @@

Source:
- src/core/Group.js line 1060 + src/core/Group.js line 1060 @@ -26832,7 +26836,7 @@

Source:
- src/particles/arcade/Emitter.js line 463 + src/particles/arcade/Emitter.js line 463 @@ -26949,7 +26953,7 @@

Source:
- src/core/Group.js line 1593 + src/core/Group.js line 1593 @@ -27152,7 +27156,7 @@
Parameters:
Source:
- src/core/Group.js line 2875 + src/core/Group.js line 2875 @@ -27295,7 +27299,7 @@
Parameters:
Source:
- src/core/Group.js line 961 + src/core/Group.js line 961 @@ -27711,7 +27715,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -28093,7 +28097,7 @@
Parameters:
Source:
- src/core/Group.js line 1323 + src/core/Group.js line 1323 @@ -28451,7 +28455,7 @@
Parameters:
Source:
- src/core/Group.js line 1363 + src/core/Group.js line 1363 @@ -28767,7 +28771,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 901 + src/particles/arcade/Emitter.js line 901 @@ -29041,7 +29045,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 996 + src/particles/arcade/Emitter.js line 996 @@ -29232,7 +29236,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -29551,7 +29555,7 @@
Parameters:
Source:
- src/core/Group.js line 1181 + src/core/Group.js line 1181 @@ -29769,7 +29773,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 880 + src/particles/arcade/Emitter.js line 880 @@ -30189,7 +30193,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 944 + src/particles/arcade/Emitter.js line 944 @@ -30371,7 +30375,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 822 + src/particles/arcade/Emitter.js line 822 @@ -30589,7 +30593,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 840 + src/particles/arcade/Emitter.js line 840 @@ -30807,7 +30811,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 860 + src/particles/arcade/Emitter.js line 860 @@ -30925,7 +30929,7 @@

Source:
- src/core/Group.js line 2896 + src/core/Group.js line 2896 @@ -31132,7 +31136,7 @@
Parameters:
Source:
- src/core/Group.js line 2062 + src/core/Group.js line 2062 @@ -31174,8 +31178,14 @@

Start emitting particles.

explode and flow are simpler methods.

There are two patterns, based on the explode argument:

-

explode=true
start(true, lifespan=0, null, total)

When explode is true or forceQuantity is true, start emits total particles immediately. You should pass a nonzero total.

-
explode=false
start(false, lifespan=0, frequency=250, total=0)

When explode is false and forceQuantity is false, start emits 1 particle every interval of frequency ms. If total is not zero, the emitter turns itself off after total particles have been released. If total is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use flow instead.

+
explode=true
+
start(true, lifespan=0, null, total)
+
+

When explode is true or forceQuantity is true, start emits total particles immediately. You should pass a nonzero total.

+
explode=false
+
start(false, lifespan=0, frequency=250, total=0)
+
+

When explode is false and forceQuantity is false, start emits 1 particle every interval of frequency ms. If total is not zero, the emitter turns itself off after total particles have been released. If total is zero, the emitter keeps emitting particles as long as they are available. To emit more than 1 particle per flow interval, use flow instead.

forceQuantity seems equivalent to explode and can probably be avoided.

@@ -31451,7 +31461,7 @@
Parameters:
Source:
- src/particles/arcade/Emitter.js line 555 + src/particles/arcade/Emitter.js line 555 @@ -31691,7 +31701,7 @@
Parameters:
Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -31859,7 +31869,7 @@
Parameters:
Source:
- src/core/Group.js line 918 + src/core/Group.js line 918 @@ -32026,7 +32036,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -32169,7 +32179,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -32382,7 +32392,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -32497,7 +32507,7 @@

Source:
- src/particles/arcade/Emitter.js line 311 + src/particles/arcade/Emitter.js line 311 @@ -32590,7 +32600,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -32779,7 +32789,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -32899,7 +32909,7 @@

Source:
- src/core/Group.js line 685 + src/core/Group.js line 685 @@ -33090,7 +33100,7 @@
Parameters:
Source:
- src/core/Group.js line 1037 + src/core/Group.js line 1037 @@ -33133,9 +33143,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -33150,9 +33160,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -33181,7 +33191,7 @@
Parameters:
- + diff --git a/docs/Phaser.Particles.Arcade.html b/docs/Phaser.Particles.Arcade.html index acc8f0d50..df37705e0 100644 --- a/docs/Phaser.Particles.Arcade.html +++ b/docs/Phaser.Particles.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -180,7 +180,7 @@

Source:
- src/particles/arcade/ArcadeParticles.js line 12 + src/particles/arcade/ArcadeParticles.js line 12 @@ -244,9 +244,9 @@

Classes

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -261,9 +261,9 @@

Classes

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -292,7 +292,7 @@

Classes

- + diff --git a/docs/Phaser.Particles.html b/docs/Phaser.Particles.html index 11cf107ae..096786592 100644 --- a/docs/Phaser.Particles.html +++ b/docs/Phaser.Particles.html @@ -6,7 +6,7 @@ Phaser CE Class: Particles - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/particles/Particles.js line 14 + src/particles/Particles.js line 14 @@ -342,7 +342,7 @@
Type:
Source:
- src/particles/Particles.js line 25 + src/particles/Particles.js line 25 @@ -419,7 +419,7 @@
Type:
Source:
- src/particles/Particles.js line 20 + src/particles/Particles.js line 20 @@ -445,7 +445,9 @@

-

-

+
    +
  • +
@@ -496,7 +498,7 @@
Type:
Source:
- src/particles/Particles.js line 31 + src/particles/Particles.js line 31 @@ -624,7 +626,7 @@
Parameters:
Source:
- src/particles/Particles.js line 37 + src/particles/Particles.js line 37 @@ -782,7 +784,7 @@
Parameters:
Source:
- src/particles/Particles.js line 49 + src/particles/Particles.js line 49 @@ -825,9 +827,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -842,9 +844,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -873,7 +875,7 @@
Parameters:
- + diff --git a/docs/Phaser.Path.html b/docs/Phaser.Path.html index ada8920db..40312934f 100644 --- a/docs/Phaser.Path.html +++ b/docs/Phaser.Path.html @@ -6,7 +6,7 @@ Phaser CE Class: Path - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 18 + src/plugins/path/Path.js line 18 @@ -432,7 +432,7 @@
Type:
Source:
- src/plugins/path/Path.js line 42 + src/plugins/path/Path.js line 42 @@ -509,7 +509,7 @@
Type:
Source:
- src/plugins/path/Path.js line 32 + src/plugins/path/Path.js line 32 @@ -586,7 +586,7 @@
Type:
Source:
- src/plugins/path/Path.js line 27 + src/plugins/path/Path.js line 27 @@ -663,7 +663,7 @@
Type:
Source:
- src/plugins/path/Path.js line 47 + src/plugins/path/Path.js line 47 @@ -740,7 +740,7 @@
Type:
Source:
- src/plugins/path/Path.js line 37 + src/plugins/path/Path.js line 37 @@ -1128,7 +1128,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 209 + src/plugins/path/Path.js line 209 @@ -1286,7 +1286,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 531 + src/plugins/path/Path.js line 531 @@ -1394,7 +1394,7 @@

Source:
- src/plugins/path/Path.js line 187 + src/plugins/path/Path.js line 187 @@ -1611,7 +1611,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 149 + src/plugins/path/Path.js line 149 @@ -1825,7 +1825,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 712 + src/plugins/path/Path.js line 712 @@ -1983,7 +1983,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 354 + src/plugins/path/Path.js line 354 @@ -2162,7 +2162,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 444 + src/plugins/path/Path.js line 444 @@ -2346,7 +2346,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 373 + src/plugins/path/Path.js line 373 @@ -2505,7 +2505,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 419 + src/plugins/path/Path.js line 419 @@ -2719,7 +2719,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 329 + src/plugins/path/Path.js line 329 @@ -2827,7 +2827,7 @@

Source:
- src/plugins/path/Path.js line 552 + src/plugins/path/Path.js line 552 @@ -2987,7 +2987,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 497 + src/plugins/path/Path.js line 497 @@ -3194,7 +3194,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 569 + src/plugins/path/Path.js line 569 @@ -3364,7 +3364,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 245 + src/plugins/path/Path.js line 245 @@ -3546,7 +3546,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 311 + src/plugins/path/Path.js line 311 @@ -3846,7 +3846,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 266 + src/plugins/path/Path.js line 266 @@ -3955,7 +3955,7 @@

Source:
- src/plugins/path/Path.js line 646 + src/plugins/path/Path.js line 646 @@ -4063,7 +4063,7 @@

Source:
- src/plugins/path/Path.js line 821 + src/plugins/path/Path.js line 821 @@ -4224,7 +4224,7 @@
Parameters:
Source:
- src/plugins/path/Path.js line 291 + src/plugins/path/Path.js line 291 @@ -4291,9 +4291,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -4308,9 +4308,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -4339,7 +4339,7 @@
Returns:
- + diff --git a/docs/Phaser.PathFollower.html b/docs/Phaser.PathFollower.html index 9eaa07767..7715311ad 100644 --- a/docs/Phaser.PathFollower.html +++ b/docs/Phaser.PathFollower.html @@ -6,7 +6,7 @@ Phaser CE Class: PathFollower - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/plugins/path/PathFollower.js line 25 + src/plugins/path/PathFollower.js line 25 @@ -504,9 +504,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -521,9 +521,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -552,7 +552,7 @@
Parameters:
- + diff --git a/docs/Phaser.PathPoint.html b/docs/Phaser.PathPoint.html index b750c2627..2f681b788 100644 --- a/docs/Phaser.PathPoint.html +++ b/docs/Phaser.PathPoint.html @@ -6,7 +6,7 @@ Phaser CE Class: PathPoint - + @@ -508,7 +508,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 22 + src/plugins/path/PathPoint.js line 22 @@ -609,7 +609,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 119 + src/plugins/path/PathPoint.js line 119 @@ -682,7 +682,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 101 + src/plugins/path/PathPoint.js line 101 @@ -755,7 +755,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 107 + src/plugins/path/PathPoint.js line 107 @@ -828,7 +828,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 113 + src/plugins/path/PathPoint.js line 113 @@ -905,7 +905,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 85 + src/plugins/path/PathPoint.js line 85 @@ -982,7 +982,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 63 + src/plugins/path/PathPoint.js line 63 @@ -1059,7 +1059,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 68 + src/plugins/path/PathPoint.js line 68 @@ -1136,7 +1136,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 73 + src/plugins/path/PathPoint.js line 73 @@ -1213,7 +1213,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 91 + src/plugins/path/PathPoint.js line 91 @@ -1290,7 +1290,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 79 + src/plugins/path/PathPoint.js line 79 @@ -1367,7 +1367,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 58 + src/plugins/path/PathPoint.js line 58 @@ -1444,7 +1444,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 53 + src/plugins/path/PathPoint.js line 53 @@ -1521,7 +1521,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 43 + src/plugins/path/PathPoint.js line 43 @@ -1598,7 +1598,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 48 + src/plugins/path/PathPoint.js line 48 @@ -1675,7 +1675,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 33 + src/plugins/path/PathPoint.js line 33 @@ -1752,7 +1752,7 @@
Type:
Source:
- src/plugins/path/PathPoint.js line 38 + src/plugins/path/PathPoint.js line 38 @@ -1892,7 +1892,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 177 + src/plugins/path/PathPoint.js line 177 @@ -2051,7 +2051,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 193 + src/plugins/path/PathPoint.js line 193 @@ -2114,7 +2114,7 @@

-

Compare this PathPoint with another PathPoint object and return true +

Compare this PathPoint with another PathPoint object and return true if they have the same x, y and speed properties, after taking the optional offset values into consideration.

@@ -2307,7 +2307,7 @@

Parameters:
Source:
- src/plugins/path/PathPoint.js line 219 + src/plugins/path/PathPoint.js line 219 @@ -2489,7 +2489,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 156 + src/plugins/path/PathPoint.js line 156 @@ -2757,7 +2757,7 @@
Parameters:
Source:
- src/plugins/path/PathPoint.js line 123 + src/plugins/path/PathPoint.js line 123 @@ -2865,7 +2865,7 @@

Source:
- src/plugins/path/PathPoint.js line 242 + src/plugins/path/PathPoint.js line 242 @@ -2932,9 +2932,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2949,9 +2949,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2980,7 +2980,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Arcade.Body.html b/docs/Phaser.Physics.Arcade.Body.html index 5937aa4f4..5e8a556ad 100644 --- a/docs/Phaser.Physics.Arcade.Body.html +++ b/docs/Phaser.Physics.Arcade.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 15 + src/physics/arcade/Body.js line 15 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 162 + src/physics/arcade/Body.js line 162 @@ -420,7 +420,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 168 + src/physics/arcade/Body.js line 168 @@ -504,7 +504,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 179 + src/physics/arcade/Body.js line 179 @@ -588,7 +588,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 80 + src/physics/arcade/Body.js line 80 @@ -665,7 +665,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 296 + src/physics/arcade/Body.js line 296 @@ -742,7 +742,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 272 + src/physics/arcade/Body.js line 272 @@ -819,7 +819,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 278 + src/physics/arcade/Body.js line 278 @@ -896,7 +896,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 266 + src/physics/arcade/Body.js line 266 @@ -974,7 +974,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 403 + src/physics/arcade/Body.js line 403 @@ -1051,7 +1051,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1411 + src/physics/arcade/Body.js line 1411 @@ -1128,7 +1128,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 189 + src/physics/arcade/Body.js line 189 @@ -1205,7 +1205,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 141 + src/physics/arcade/Body.js line 141 @@ -1285,7 +1285,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 383 + src/physics/arcade/Body.js line 383 @@ -1362,7 +1362,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 374 + src/physics/arcade/Body.js line 374 @@ -1440,7 +1440,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 336 + src/physics/arcade/Body.js line 336 @@ -1518,7 +1518,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 344 + src/physics/arcade/Body.js line 344 @@ -1595,7 +1595,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 157 + src/physics/arcade/Body.js line 157 @@ -1672,7 +1672,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 415 + src/physics/arcade/Body.js line 415 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 173 + src/physics/arcade/Body.js line 173 @@ -1826,7 +1826,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 368 + src/physics/arcade/Body.js line 368 @@ -1910,7 +1910,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 37 + src/physics/arcade/Body.js line 37 @@ -1987,7 +1987,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 308 + src/physics/arcade/Body.js line 308 @@ -2064,7 +2064,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 260 + src/physics/arcade/Body.js line 260 @@ -2141,7 +2141,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 26 + src/physics/arcade/Body.js line 26 @@ -2218,7 +2218,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 184 + src/physics/arcade/Body.js line 184 @@ -2295,7 +2295,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 135 + src/physics/arcade/Body.js line 135 @@ -2372,7 +2372,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 129 + src/physics/arcade/Body.js line 129 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 105 + src/physics/arcade/Body.js line 105 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 314 + src/physics/arcade/Body.js line 314 @@ -2604,7 +2604,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 46 + src/physics/arcade/Body.js line 46 @@ -2681,7 +2681,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 435 + src/physics/arcade/Body.js line 435 @@ -2758,7 +2758,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1365 + src/physics/arcade/Body.js line 1365 @@ -2842,7 +2842,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 290 + src/physics/arcade/Body.js line 290 @@ -2926,7 +2926,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 284 + src/physics/arcade/Body.js line 284 @@ -3003,7 +3003,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 255 + src/physics/arcade/Body.js line 255 @@ -3080,7 +3080,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 480 + src/physics/arcade/Body.js line 480 @@ -3157,7 +3157,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 485 + src/physics/arcade/Body.js line 485 @@ -3245,7 +3245,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 328 + src/physics/arcade/Body.js line 328 @@ -3322,7 +3322,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 152 + src/physics/arcade/Body.js line 152 @@ -3399,7 +3399,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 62 + src/physics/arcade/Body.js line 62 @@ -3485,7 +3485,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 229 + src/physics/arcade/Body.js line 229 @@ -3562,7 +3562,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 475 + src/physics/arcade/Body.js line 475 @@ -3648,7 +3648,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 249 + src/physics/arcade/Body.js line 249 @@ -3731,7 +3731,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 209 + src/physics/arcade/Body.js line 209 @@ -3808,7 +3808,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 362 + src/physics/arcade/Body.js line 362 @@ -3885,7 +3885,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 350 + src/physics/arcade/Body.js line 350 @@ -3962,7 +3962,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 356 + src/physics/arcade/Body.js line 356 @@ -4039,7 +4039,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 68 + src/physics/arcade/Body.js line 68 @@ -4116,7 +4116,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 93 + src/physics/arcade/Body.js line 93 @@ -4193,7 +4193,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 74 + src/physics/arcade/Body.js line 74 @@ -4273,7 +4273,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 57 + src/physics/arcade/Body.js line 57 @@ -4350,7 +4350,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1380 + src/physics/arcade/Body.js line 1380 @@ -4428,7 +4428,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 87 + src/physics/arcade/Body.js line 87 @@ -4505,7 +4505,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 420 + src/physics/arcade/Body.js line 420 @@ -4582,7 +4582,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 117 + src/physics/arcade/Body.js line 117 @@ -4659,7 +4659,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 111 + src/physics/arcade/Body.js line 111 @@ -4736,7 +4736,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 302 + src/physics/arcade/Body.js line 302 @@ -4813,7 +4813,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 21 + src/physics/arcade/Body.js line 21 @@ -4890,7 +4890,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 440 + src/physics/arcade/Body.js line 440 @@ -4970,7 +4970,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 430 + src/physics/arcade/Body.js line 430 @@ -5048,7 +5048,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 410 + src/physics/arcade/Body.js line 410 @@ -5125,7 +5125,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1396 + src/physics/arcade/Body.js line 1396 @@ -5203,7 +5203,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 390 + src/physics/arcade/Body.js line 390 @@ -5280,7 +5280,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 31 + src/physics/arcade/Body.js line 31 @@ -5357,7 +5357,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 146 + src/physics/arcade/Body.js line 146 @@ -5434,7 +5434,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 396 + src/physics/arcade/Body.js line 396 @@ -5511,7 +5511,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 99 + src/physics/arcade/Body.js line 99 @@ -5590,7 +5590,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 197 + src/physics/arcade/Body.js line 197 @@ -5667,7 +5667,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1427 + src/physics/arcade/Body.js line 1427 @@ -5744,7 +5744,7 @@
Type:
Source:
- src/physics/arcade/Body.js line 1448 + src/physics/arcade/Body.js line 1448 @@ -5822,7 +5822,7 @@

Source:
- src/physics/arcade/Body.js line 834 + src/physics/arcade/Body.js line 834 @@ -5930,7 +5930,7 @@

Source:
- src/physics/arcade/Body.js line 1277 + src/physics/arcade/Body.js line 1277 @@ -6038,7 +6038,7 @@

Source:
- src/physics/arcade/Body.js line 1290 + src/physics/arcade/Body.js line 1290 @@ -6146,7 +6146,7 @@

Source:
- src/physics/arcade/Body.js line 1303 + src/physics/arcade/Body.js line 1303 @@ -6254,7 +6254,7 @@

Source:
- src/physics/arcade/Body.js line 1316 + src/physics/arcade/Body.js line 1316 @@ -6362,7 +6362,7 @@

Source:
- src/physics/arcade/Body.js line 1329 + src/physics/arcade/Body.js line 1329 @@ -6472,7 +6472,7 @@

Source:
- src/physics/arcade/Body.js line 1342 + src/physics/arcade/Body.js line 1342 @@ -6607,7 +6607,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1202 + src/physics/arcade/Body.js line 1202 @@ -6789,7 +6789,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1223 + src/physics/arcade/Body.js line 1223 @@ -7040,7 +7040,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 885 + src/physics/arcade/Body.js line 885 @@ -7288,7 +7288,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 960 + src/physics/arcade/Body.js line 960 @@ -7396,7 +7396,7 @@

Source:
- src/physics/arcade/Body.js line 1251 + src/physics/arcade/Body.js line 1251 @@ -7504,7 +7504,7 @@

Source:
- src/physics/arcade/Body.js line 1238 + src/physics/arcade/Body.js line 1238 @@ -7612,7 +7612,7 @@

Source:
- src/physics/arcade/Body.js line 1264 + src/physics/arcade/Body.js line 1264 @@ -7720,7 +7720,7 @@

Source:
- src/physics/arcade/Body.js line 747 + src/physics/arcade/Body.js line 747 @@ -7804,7 +7804,7 @@

Source:
- src/physics/arcade/Body.js line 579 + src/physics/arcade/Body.js line 579 @@ -8110,7 +8110,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1470 + src/physics/arcade/Body.js line 1470 @@ -8372,7 +8372,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1517 + src/physics/arcade/Body.js line 1517 @@ -8530,7 +8530,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1156 + src/physics/arcade/Body.js line 1156 @@ -8749,7 +8749,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 1109 + src/physics/arcade/Body.js line 1109 @@ -8797,8 +8797,7 @@

For example: If you have a Sprite with a texture that is 80x100 in size, and you want the physics body to be 32x32 pixels in the middle of the texture, you would do:

-

setSize(32 / Math.abs(this.scale.x), 32 / Math.abs(this.scale.y), 24, -34)

+

setSize(32 / Math.abs(this.scale.x), 32 / Math.abs(this.scale.y), 24, 34)

Where the first two parameters are the new Body size (32x32 pixels) relative to the Sprite's scale. 24 is the horizontal offset of the Body from the top-left of the Sprites texture, and 34 is the vertical offset.

@@ -9017,7 +9016,7 @@

Parameters:
Source:
- src/physics/arcade/Body.js line 1048 + src/physics/arcade/Body.js line 1048 @@ -9101,7 +9100,7 @@

Source:
- src/physics/arcade/Body.js line 1186 + src/physics/arcade/Body.js line 1186 @@ -9250,7 +9249,7 @@
Parameters:
Source:
- src/physics/arcade/Body.js line 718 + src/physics/arcade/Body.js line 718 @@ -9334,7 +9333,7 @@

Source:
- src/physics/arcade/Body.js line 521 + src/physics/arcade/Body.js line 521 @@ -9418,7 +9417,7 @@

Source:
- src/physics/arcade/Body.js line 566 + src/physics/arcade/Body.js line 566 @@ -9502,7 +9501,7 @@

Source:
- src/physics/arcade/Body.js line 676 + src/physics/arcade/Body.js line 676 @@ -9545,9 +9544,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -9562,9 +9561,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -9593,7 +9592,7 @@

- + diff --git a/docs/Phaser.Physics.Arcade.TilemapCollision.html b/docs/Phaser.Physics.Arcade.TilemapCollision.html index 3c4f91819..0820239c4 100644 --- a/docs/Phaser.Physics.Arcade.TilemapCollision.html +++ b/docs/Phaser.Physics.Arcade.TilemapCollision.html @@ -6,7 +6,7 @@ Phaser CE Class: TilemapCollision - + @@ -181,7 +181,7 @@

Source:
- src/physics/arcade/TilemapCollision.js line 15 + src/physics/arcade/TilemapCollision.js line 15 @@ -286,7 +286,7 @@
Type:
Source:
- src/physics/arcade/TilemapCollision.js line 22 + src/physics/arcade/TilemapCollision.js line 22 @@ -319,9 +319,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -336,9 +336,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -367,7 +367,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.Arcade.html b/docs/Phaser.Physics.Arcade.html index cf48656cc..4b54e28c2 100644 --- a/docs/Phaser.Physics.Arcade.html +++ b/docs/Phaser.Physics.Arcade.html @@ -6,7 +6,7 @@ Phaser CE Class: Arcade - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 14 + src/physics/arcade/World.js line 14 @@ -346,7 +346,7 @@
Type:
Source:
- src/physics/arcade/World.js line 132 + src/physics/arcade/World.js line 132 @@ -424,7 +424,7 @@
Type:
Source:
- src/physics/arcade/World.js line 108 + src/physics/arcade/World.js line 108 @@ -502,7 +502,7 @@
Type:
Source:
- src/physics/arcade/World.js line 116 + src/physics/arcade/World.js line 116 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/arcade/World.js line 100 + src/physics/arcade/World.js line 100 @@ -658,7 +658,7 @@
Type:
Source:
- src/physics/arcade/World.js line 124 + src/physics/arcade/World.js line 124 @@ -735,7 +735,7 @@
Type:
Source:
- src/physics/arcade/World.js line 30 + src/physics/arcade/World.js line 30 @@ -813,7 +813,7 @@
Type:
Source:
- src/physics/arcade/World.js line 37 + src/physics/arcade/World.js line 37 @@ -890,7 +890,7 @@
Type:
Source:
- src/physics/arcade/World.js line 58 + src/physics/arcade/World.js line 58 @@ -967,7 +967,7 @@
Type:
Source:
- src/physics/arcade/World.js line 20 + src/physics/arcade/World.js line 20 @@ -1044,7 +1044,7 @@
Type:
Source:
- src/physics/arcade/World.js line 25 + src/physics/arcade/World.js line 25 @@ -1121,7 +1121,7 @@
Type:
Source:
- src/physics/arcade/World.js line 74 + src/physics/arcade/World.js line 74 @@ -1198,7 +1198,7 @@
Type:
Source:
- src/physics/arcade/World.js line 47 + src/physics/arcade/World.js line 47 @@ -1275,7 +1275,7 @@
Type:
Source:
- src/physics/arcade/World.js line 42 + src/physics/arcade/World.js line 42 @@ -1359,7 +1359,7 @@
Type:
Source:
- src/physics/arcade/World.js line 53 + src/physics/arcade/World.js line 53 @@ -1436,7 +1436,7 @@
Type:
Source:
- src/physics/arcade/World.js line 79 + src/physics/arcade/World.js line 79 @@ -1513,7 +1513,7 @@
Type:
Source:
- src/physics/arcade/World.js line 69 + src/physics/arcade/World.js line 69 @@ -1590,7 +1590,7 @@
Type:
Source:
- src/physics/arcade/World.js line 64 + src/physics/arcade/World.js line 64 @@ -1893,7 +1893,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1894 + src/physics/arcade/World.js line 1894 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1924 + src/physics/arcade/World.js line 1924 @@ -2597,7 +2597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1955 + src/physics/arcade/World.js line 1955 @@ -2853,7 +2853,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1874 + src/physics/arcade/World.js line 1874 @@ -3108,7 +3108,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2151 + src/physics/arcade/World.js line 2151 @@ -3290,7 +3290,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2180 + src/physics/arcade/World.js line 2180 @@ -3545,7 +3545,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2228 + src/physics/arcade/World.js line 2228 @@ -3834,7 +3834,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2198 + src/physics/arcade/World.js line 2198 @@ -4016,7 +4016,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1179 + src/physics/arcade/World.js line 1179 @@ -4306,7 +4306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2091 + src/physics/arcade/World.js line 2091 @@ -4381,7 +4381,8 @@

An optional processCallback can be provided. If given this function will be called when two sprites are found to be colliding. It is called before any separation takes place, giving you the chance to perform additional checks. If the function returns true then the collision and separation is carried out. If it returns false it is skipped.

The collideCallback is an optional function that is only called if two sprites collide. If a processCallback has been set then it needs to return true for collideCallback to be called.

This function is not recursive, and will not test against children of objects passed (i.e. Groups or Tilemaps within other Groups).

-

Examples
collide(group);
+
Examples
+
collide(group);
 collide(group, undefined); // equivalent
 
 collide(sprite1, sprite2);
@@ -4390,7 +4391,10 @@ 
Examples
collide(g
 
 collide(group1, group2);
 
-collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4
Tilemaps

Tiles marked via Phaser.Tilemap#setCollision (and similar methods) are "solid". If a Sprite collides with one of these tiles, the two are separated by moving the Sprite outside the tile's edges. Enable Phaser.TilemapLayer#debug to see the colliding edges of the Tilemap.

+collide([sprite1, sprite2], [sprite3, sprite4]); // 1 vs. 3, 1 vs. 4, 2 vs. 3, 2 vs. 4 +
+
Tilemaps
+

Tiles marked via Phaser.Tilemap#setCollision (and similar methods) are "solid". If a Sprite collides with one of these tiles, the two are separated by moving the Sprite outside the tile's edges. Enable Phaser.TilemapLayer#debug to see the colliding edges of the Tilemap.

Tiles with a callback attached via Phaser.Tilemap#setTileIndexCallback or Phaser.Tilemap#setTileLocationCallback invoke the callback if a Sprite collides with them. If a tile has a callback attached via both methods, only the location callback is invoked. The colliding Sprite is separated from the tile only if the callback returns true.

@@ -4680,7 +4684,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 369 + src/physics/arcade/World.js line 369 @@ -5039,7 +5043,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 265 + src/physics/arcade/World.js line 265 @@ -5336,7 +5340,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1986 + src/physics/arcade/World.js line 1986 @@ -5593,7 +5597,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2062 + src/physics/arcade/World.js line 2062 @@ -5884,7 +5888,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2034 + src/physics/arcade/World.js line 2034 @@ -6105,7 +6109,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 164 + src/physics/arcade/World.js line 164 @@ -6241,7 +6245,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 219 + src/physics/arcade/World.js line 219 @@ -6507,7 +6511,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2121 + src/physics/arcade/World.js line 2121 @@ -6845,7 +6849,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1683 + src/physics/arcade/World.js line 1683 @@ -7115,7 +7119,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1659 + src/physics/arcade/World.js line 1659 @@ -7322,7 +7326,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1387 + src/physics/arcade/World.js line 1387 @@ -7529,7 +7533,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1452 + src/physics/arcade/World.js line 1452 @@ -7711,7 +7715,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1116 + src/physics/arcade/World.js line 1116 @@ -8006,7 +8010,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1728 + src/physics/arcade/World.js line 1728 @@ -8302,7 +8306,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1763 + src/physics/arcade/World.js line 1763 @@ -8633,7 +8637,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1798 + src/physics/arcade/World.js line 1798 @@ -8702,7 +8706,8 @@

Both the first and second parameter can be arrays of objects, of differing types. If two arrays are passed, the contents of the first parameter will be tested against all contents of the 2nd parameter.

This function is not recursive, and will not test against children of objects passed (i.e. Groups within Groups).

-

Tilemaps

Any overlapping tiles, including blank/null tiles, will give a positive result. Tiles marked via Phaser.Tilemap#setCollision (and similar methods) have no special status, and callbacks added via Phaser.Tilemap#setTileIndexCallback or Phaser.Tilemap#setTileLocationCallback are not invoked. So calling this method without any callbacks isn't very useful.

+
Tilemaps
+

Any overlapping tiles, including blank/null tiles, will give a positive result. Tiles marked via Phaser.Tilemap#setCollision (and similar methods) have no special status, and callbacks added via Phaser.Tilemap#setTileIndexCallback or Phaser.Tilemap#setTileLocationCallback are not invoked. So calling this method without any callbacks isn't very useful.

If you're interested only in whether an object overlaps a certain tile or class of tiles, filter the tiles with processCallback and then use the result returned by this method. Blank/null tiles can be excluded by their index (-1).

If you want to take action on certain overlaps, examine the tiles in collideCallback and then handle as you like.

@@ -8987,7 +8992,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 327 + src/physics/arcade/World.js line 327 @@ -9217,7 +9222,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 136 + src/physics/arcade/World.js line 136 @@ -9301,7 +9306,7 @@

Source:
- src/physics/arcade/World.js line 152 + src/physics/arcade/World.js line 152 @@ -9482,7 +9487,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 521 + src/physics/arcade/World.js line 521 @@ -9641,7 +9646,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 499 + src/physics/arcade/World.js line 499 @@ -9824,7 +9829,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 433 + src/physics/arcade/World.js line 433 @@ -10007,7 +10012,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 455 + src/physics/arcade/World.js line 455 @@ -10190,7 +10195,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 477 + src/physics/arcade/World.js line 477 @@ -10348,7 +10353,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 244 + src/physics/arcade/World.js line 244 @@ -10580,7 +10585,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1834 + src/physics/arcade/World.js line 1834 @@ -10838,7 +10843,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 1854 + src/physics/arcade/World.js line 1854 @@ -11043,7 +11048,7 @@
Parameters:
Source:
- src/physics/arcade/World.js line 2258 + src/physics/arcade/World.js line 2258 @@ -11110,9 +11115,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -11127,9 +11132,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -11158,7 +11163,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.AABB.html b/docs/Phaser.Physics.Ninja.AABB.html index e69d3ca7c..ba22b5f3c 100644 --- a/docs/Phaser.Physics.Ninja.AABB.html +++ b/docs/Phaser.Physics.Ninja.AABB.html @@ -6,7 +6,7 @@ Phaser CE Class: AABB - + @@ -327,7 +327,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 20 + src/physics/ninja/AABB.js line 20 @@ -432,7 +432,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 87 + src/physics/ninja/AABB.js line 87 @@ -547,7 +547,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 26 + src/physics/ninja/AABB.js line 26 @@ -624,7 +624,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 65 + src/physics/ninja/AABB.js line 65 @@ -701,7 +701,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 41 + src/physics/ninja/AABB.js line 41 @@ -778,7 +778,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 36 + src/physics/ninja/AABB.js line 36 @@ -855,7 +855,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 31 + src/physics/ninja/AABB.js line 31 @@ -932,7 +932,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 82 + src/physics/ninja/AABB.js line 82 @@ -1009,7 +1009,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 59 + src/physics/ninja/AABB.js line 59 @@ -1086,7 +1086,7 @@
Type:
Source:
- src/physics/ninja/AABB.js line 47 + src/physics/ninja/AABB.js line 47 @@ -1201,7 +1201,7 @@
Properties:
Source:
- src/physics/ninja/AABB.js line 53 + src/physics/ninja/AABB.js line 53 @@ -1329,7 +1329,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 347 + src/physics/ninja/AABB.js line 347 @@ -1463,7 +1463,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 420 + src/physics/ninja/AABB.js line 420 @@ -1547,7 +1547,7 @@

Source:
- src/physics/ninja/AABB.js line 305 + src/physics/ninja/AABB.js line 305 @@ -1631,7 +1631,7 @@

Source:
- src/physics/ninja/AABB.js line 1012 + src/physics/ninja/AABB.js line 1012 @@ -1715,7 +1715,7 @@

Source:
- src/physics/ninja/AABB.js line 109 + src/physics/ninja/AABB.js line 109 @@ -1921,7 +1921,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 718 + src/physics/ninja/AABB.js line 718 @@ -2151,7 +2151,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 639 + src/physics/ninja/AABB.js line 639 @@ -2381,7 +2381,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 585 + src/physics/ninja/AABB.js line 585 @@ -2611,7 +2611,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 850 + src/physics/ninja/AABB.js line 850 @@ -2841,7 +2841,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 772 + src/physics/ninja/AABB.js line 772 @@ -3071,7 +3071,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 953 + src/physics/ninja/AABB.js line 953 @@ -3301,7 +3301,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 902 + src/physics/ninja/AABB.js line 902 @@ -3531,7 +3531,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 505 + src/physics/ninja/AABB.js line 505 @@ -3761,7 +3761,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 525 + src/physics/ninja/AABB.js line 525 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 1023 + src/physics/ninja/AABB.js line 1023 @@ -4221,7 +4221,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 130 + src/physics/ninja/AABB.js line 130 @@ -4451,7 +4451,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 257 + src/physics/ninja/AABB.js line 257 @@ -4657,7 +4657,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 205 + src/physics/ninja/AABB.js line 205 @@ -4863,7 +4863,7 @@
Parameters:
Source:
- src/physics/ninja/AABB.js line 480 + src/physics/ninja/AABB.js line 480 @@ -4967,7 +4967,7 @@

Source:
- src/physics/ninja/AABB.js line 220 + src/physics/ninja/AABB.js line 220 @@ -5010,9 +5010,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -5027,9 +5027,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -5058,7 +5058,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Body.html b/docs/Phaser.Physics.Ninja.Body.html index e1c9e2f90..d1d447a08 100644 --- a/docs/Phaser.Physics.Ninja.Body.html +++ b/docs/Phaser.Physics.Ninja.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -563,7 +563,7 @@

Parameters:
Source:
- src/physics/ninja/Body.js line 23 + src/physics/ninja/Body.js line 23 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 55 + src/physics/ninja/Body.js line 55 @@ -745,7 +745,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 560 + src/physics/ninja/Body.js line 560 @@ -822,7 +822,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 518 + src/physics/ninja/Body.js line 518 @@ -906,7 +906,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 96 + src/physics/ninja/Body.js line 96 @@ -984,7 +984,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 126 + src/physics/ninja/Body.js line 126 @@ -1061,7 +1061,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 65 + src/physics/ninja/Body.js line 65 @@ -1138,7 +1138,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 119 + src/physics/ninja/Body.js line 119 @@ -1222,7 +1222,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 78 + src/physics/ninja/Body.js line 78 @@ -1299,7 +1299,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 107 + src/physics/ninja/Body.js line 107 @@ -1383,7 +1383,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 84 + src/physics/ninja/Body.js line 84 @@ -1460,7 +1460,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 40 + src/physics/ninja/Body.js line 40 @@ -1544,7 +1544,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 90 + src/physics/ninja/Body.js line 90 @@ -1621,7 +1621,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 504 + src/physics/ninja/Body.js line 504 @@ -1698,7 +1698,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 113 + src/physics/ninja/Body.js line 113 @@ -1782,7 +1782,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 145 + src/physics/ninja/Body.js line 145 @@ -1859,7 +1859,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 532 + src/physics/ninja/Body.js line 532 @@ -1936,7 +1936,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 70 + src/physics/ninja/Body.js line 70 @@ -2013,7 +2013,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 546 + src/physics/ninja/Body.js line 546 @@ -2090,7 +2090,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 35 + src/physics/ninja/Body.js line 35 @@ -2167,7 +2167,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 50 + src/physics/ninja/Body.js line 50 @@ -2244,7 +2244,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 60 + src/physics/ninja/Body.js line 60 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 133 + src/physics/ninja/Body.js line 133 @@ -2399,7 +2399,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 45 + src/physics/ninja/Body.js line 45 @@ -2476,7 +2476,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 101 + src/physics/ninja/Body.js line 101 @@ -2553,7 +2553,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 139 + src/physics/ninja/Body.js line 139 @@ -2630,7 +2630,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 490 + src/physics/ninja/Body.js line 490 @@ -2707,7 +2707,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 454 + src/physics/ninja/Body.js line 454 @@ -2784,7 +2784,7 @@
Type:
Source:
- src/physics/ninja/Body.js line 472 + src/physics/ninja/Body.js line 472 @@ -2862,7 +2862,7 @@

Source:
- src/physics/ninja/Body.js line 392 + src/physics/ninja/Body.js line 392 @@ -2970,7 +2970,7 @@

Source:
- src/physics/ninja/Body.js line 403 + src/physics/ninja/Body.js line 403 @@ -3078,7 +3078,7 @@

Source:
- src/physics/ninja/Body.js line 414 + src/physics/ninja/Body.js line 414 @@ -3186,7 +3186,7 @@

Source:
- src/physics/ninja/Body.js line 425 + src/physics/ninja/Body.js line 425 @@ -3294,7 +3294,7 @@

Source:
- src/physics/ninja/Body.js line 436 + src/physics/ninja/Body.js line 436 @@ -3378,7 +3378,7 @@

Source:
- src/physics/ninja/Body.js line 216 + src/physics/ninja/Body.js line 216 @@ -3462,7 +3462,7 @@

Source:
- src/physics/ninja/Body.js line 185 + src/physics/ninja/Body.js line 185 @@ -3728,7 +3728,7 @@
Parameters:
Source:
- src/physics/ninja/Body.js line 574 + src/physics/ninja/Body.js line 574 @@ -3812,7 +3812,7 @@

Source:
- src/physics/ninja/Body.js line 375 + src/physics/ninja/Body.js line 375 @@ -3896,7 +3896,7 @@

Source:
- src/physics/ninja/Body.js line 260 + src/physics/ninja/Body.js line 260 @@ -3939,9 +3939,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3956,9 +3956,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3987,7 +3987,7 @@

- + diff --git a/docs/Phaser.Physics.Ninja.Circle.html b/docs/Phaser.Physics.Ninja.Circle.html index e5a68b580..103e01c43 100644 --- a/docs/Phaser.Physics.Ninja.Circle.html +++ b/docs/Phaser.Physics.Ninja.Circle.html @@ -6,7 +6,7 @@ Phaser CE Class: Circle - + @@ -303,7 +303,7 @@

Parameters:
Source:
- src/physics/ninja/Circle.js line 19 + src/physics/ninja/Circle.js line 19 @@ -446,7 +446,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 25 + src/physics/ninja/Circle.js line 25 @@ -523,7 +523,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 91 + src/physics/ninja/Circle.js line 91 @@ -600,7 +600,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 69 + src/physics/ninja/Circle.js line 69 @@ -677,7 +677,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 40 + src/physics/ninja/Circle.js line 40 @@ -754,7 +754,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 35 + src/physics/ninja/Circle.js line 35 @@ -831,7 +831,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 45 + src/physics/ninja/Circle.js line 45 @@ -908,7 +908,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 30 + src/physics/ninja/Circle.js line 30 @@ -985,7 +985,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 86 + src/physics/ninja/Circle.js line 86 @@ -1062,7 +1062,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 63 + src/physics/ninja/Circle.js line 63 @@ -1139,7 +1139,7 @@
Type:
Source:
- src/physics/ninja/Circle.js line 51 + src/physics/ninja/Circle.js line 51 @@ -1254,7 +1254,7 @@
Properties:
Source:
- src/physics/ninja/Circle.js line 57 + src/physics/ninja/Circle.js line 57 @@ -1382,7 +1382,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 252 + src/physics/ninja/Circle.js line 252 @@ -1490,7 +1490,7 @@

Source:
- src/physics/ninja/Circle.js line 210 + src/physics/ninja/Circle.js line 210 @@ -1574,7 +1574,7 @@

Source:
- src/physics/ninja/Circle.js line 2635 + src/physics/ninja/Circle.js line 2635 @@ -1658,7 +1658,7 @@

Source:
- src/physics/ninja/Circle.js line 113 + src/physics/ninja/Circle.js line 113 @@ -1912,7 +1912,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1733 + src/physics/ninja/Circle.js line 1733 @@ -2190,7 +2190,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1438 + src/physics/ninja/Circle.js line 1438 @@ -2468,7 +2468,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 454 + src/physics/ninja/Circle.js line 454 @@ -2746,7 +2746,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2327 + src/physics/ninja/Circle.js line 2327 @@ -3024,7 +3024,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2039 + src/physics/ninja/Circle.js line 2039 @@ -3302,7 +3302,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 725 + src/physics/ninja/Circle.js line 725 @@ -3580,7 +3580,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 960 + src/physics/ninja/Circle.js line 960 @@ -3858,7 +3858,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 341 + src/physics/ninja/Circle.js line 341 @@ -4136,7 +4136,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 1203 + src/physics/ninja/Circle.js line 1203 @@ -4390,7 +4390,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 2646 + src/physics/ninja/Circle.js line 2646 @@ -4620,7 +4620,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 134 + src/physics/ninja/Circle.js line 134 @@ -4874,7 +4874,7 @@
Parameters:
Source:
- src/physics/ninja/Circle.js line 315 + src/physics/ninja/Circle.js line 315 @@ -4941,9 +4941,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -4958,9 +4958,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -4989,7 +4989,7 @@
Returns:
- + diff --git a/docs/Phaser.Physics.Ninja.Tile.html b/docs/Phaser.Physics.Ninja.Tile.html index e9583d455..e9aeb609f 100644 --- a/docs/Phaser.Physics.Ninja.Tile.html +++ b/docs/Phaser.Physics.Ninja.Tile.html @@ -6,7 +6,7 @@ Phaser CE Class: Tile - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 25 + src/physics/ninja/Tile.js line 25 @@ -577,7 +577,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 33 + src/physics/ninja/Tile.js line 33 @@ -654,7 +654,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 713 + src/physics/ninja/Tile.js line 713 @@ -731,7 +731,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 90 + src/physics/ninja/Tile.js line 90 @@ -808,7 +808,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 44 + src/physics/ninja/Tile.js line 44 @@ -885,7 +885,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 60 + src/physics/ninja/Tile.js line 60 @@ -962,7 +962,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 55 + src/physics/ninja/Tile.js line 55 @@ -1039,7 +1039,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 727 + src/physics/ninja/Tile.js line 727 @@ -1116,7 +1116,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 38 + src/physics/ninja/Tile.js line 38 @@ -1193,7 +1193,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 50 + src/physics/ninja/Tile.js line 50 @@ -1270,7 +1270,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 95 + src/physics/ninja/Tile.js line 95 @@ -1347,7 +1347,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 84 + src/physics/ninja/Tile.js line 84 @@ -1424,7 +1424,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 677 + src/physics/ninja/Tile.js line 677 @@ -1501,7 +1501,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 72 + src/physics/ninja/Tile.js line 72 @@ -1578,7 +1578,7 @@
Type:
Source:
- src/physics/ninja/Tile.js line 695 + src/physics/ninja/Tile.js line 695 @@ -1693,7 +1693,7 @@
Properties:
Source:
- src/physics/ninja/Tile.js line 78 + src/physics/ninja/Tile.js line 78 @@ -1771,7 +1771,7 @@

Source:
- src/physics/ninja/Tile.js line 295 + src/physics/ninja/Tile.js line 295 @@ -1855,7 +1855,7 @@

Source:
- src/physics/ninja/Tile.js line 155 + src/physics/ninja/Tile.js line 155 @@ -1939,7 +1939,7 @@

Source:
- src/physics/ninja/Tile.js line 308 + src/physics/ninja/Tile.js line 308 @@ -2023,7 +2023,7 @@

Source:
- src/physics/ninja/Tile.js line 136 + src/physics/ninja/Tile.js line 136 @@ -2253,7 +2253,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 197 + src/physics/ninja/Tile.js line 197 @@ -2387,7 +2387,7 @@
Parameters:
Source:
- src/physics/ninja/Tile.js line 272 + src/physics/ninja/Tile.js line 272 @@ -2430,9 +2430,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2447,9 +2447,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2478,7 +2478,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.Ninja.html b/docs/Phaser.Physics.Ninja.html index d80b09835..789a4fc56 100644 --- a/docs/Phaser.Physics.Ninja.html +++ b/docs/Phaser.Physics.Ninja.html @@ -6,7 +6,7 @@ Phaser CE Class: Ninja - + @@ -243,7 +243,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 29 + src/physics/ninja/World.js line 29 @@ -364,7 +364,7 @@
Type:
Source:
- src/physics/ninja/World.js line 50 + src/physics/ninja/World.js line 50 @@ -441,7 +441,7 @@
Type:
Source:
- src/physics/ninja/World.js line 35 + src/physics/ninja/World.js line 35 @@ -518,7 +518,7 @@
Type:
Source:
- src/physics/ninja/World.js line 45 + src/physics/ninja/World.js line 45 @@ -595,7 +595,7 @@
Type:
Source:
- src/physics/ninja/World.js line 60 + src/physics/ninja/World.js line 60 @@ -672,7 +672,7 @@
Type:
Source:
- src/physics/ninja/World.js line 55 + src/physics/ninja/World.js line 55 @@ -749,7 +749,7 @@
Type:
Source:
- src/physics/ninja/World.js line 65 + src/physics/ninja/World.js line 65 @@ -826,7 +826,7 @@
Type:
Source:
- src/physics/ninja/World.js line 40 + src/physics/ninja/World.js line 40 @@ -1004,7 +1004,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 230 + src/physics/ninja/World.js line 230 @@ -1334,7 +1334,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 339 + src/physics/ninja/World.js line 339 @@ -1555,7 +1555,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 253 + src/physics/ninja/World.js line 253 @@ -1896,7 +1896,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 125 + src/physics/ninja/World.js line 125 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 76 + src/physics/ninja/World.js line 76 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 184 + src/physics/ninja/World.js line 184 @@ -2461,7 +2461,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 91 + src/physics/ninja/World.js line 91 @@ -2700,7 +2700,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 107 + src/physics/ninja/World.js line 107 @@ -3022,7 +3022,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 299 + src/physics/ninja/World.js line 299 @@ -3204,7 +3204,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 585 + src/physics/ninja/World.js line 585 @@ -3434,7 +3434,7 @@
Parameters:
Source:
- src/physics/ninja/World.js line 202 + src/physics/ninja/World.js line 202 @@ -3518,7 +3518,7 @@

Source:
- src/physics/ninja/World.js line 218 + src/physics/ninja/World.js line 218 @@ -3561,9 +3561,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3578,9 +3578,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3609,7 +3609,7 @@

- + diff --git a/docs/Phaser.Physics.P2.Body.html b/docs/Phaser.Physics.P2.Body.html index 062ed59a0..b4e4cec92 100644 --- a/docs/Phaser.Physics.P2.Body.html +++ b/docs/Phaser.Physics.P2.Body.html @@ -6,7 +6,7 @@ Phaser CE Class: Body - + @@ -409,7 +409,7 @@

Parameters:
Source:
- src/physics/p2/Body.js line 23 + src/physics/p2/Body.js line 23 @@ -514,7 +514,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1563 + src/physics/p2/Body.js line 1563 @@ -591,7 +591,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1579 + src/physics/p2/Body.js line 1579 @@ -668,7 +668,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1571 + src/physics/p2/Body.js line 1571 @@ -694,7 +694,9 @@

-

-

+
    +
  • +
@@ -745,7 +747,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1674 + src/physics/p2/Body.js line 1674 @@ -824,7 +826,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1699 + src/physics/p2/Body.js line 1699 @@ -901,7 +903,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1725 + src/physics/p2/Body.js line 1725 @@ -978,7 +980,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1748 + src/physics/p2/Body.js line 1748 @@ -1055,7 +1057,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1770 + src/physics/p2/Body.js line 1770 @@ -1132,7 +1134,7 @@
Type:
Source:
- src/physics/p2/Body.js line 113 + src/physics/p2/Body.js line 113 @@ -1219,7 +1221,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2051 + src/physics/p2/Body.js line 2051 @@ -1296,7 +1298,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1792 + src/physics/p2/Body.js line 1792 @@ -1373,7 +1375,7 @@
Type:
Source:
- src/physics/p2/Body.js line 60 + src/physics/p2/Body.js line 60 @@ -1450,7 +1452,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2020 + src/physics/p2/Body.js line 2020 @@ -1527,7 +1529,7 @@
Type:
Source:
- src/physics/p2/Body.js line 123 + src/physics/p2/Body.js line 123 @@ -1604,7 +1606,7 @@
Type:
Source:
- src/physics/p2/Body.js line 128 + src/physics/p2/Body.js line 128 @@ -1681,7 +1683,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1612 + src/physics/p2/Body.js line 1612 @@ -1707,7 +1709,9 @@

-

-

+
    +
  • +
@@ -1758,7 +1762,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1815 + src/physics/p2/Body.js line 1815 @@ -1835,7 +1839,7 @@
Type:
Source:
- src/physics/p2/Body.js line 72 + src/physics/p2/Body.js line 72 @@ -1912,7 +1916,7 @@
Type:
Source:
- src/physics/p2/Body.js line 34 + src/physics/p2/Body.js line 34 @@ -1989,7 +1993,7 @@
Type:
Source:
- src/physics/p2/Body.js line 77 + src/physics/p2/Body.js line 77 @@ -2066,7 +2070,7 @@
Type:
Source:
- src/physics/p2/Body.js line 2004 + src/physics/p2/Body.js line 2004 @@ -2143,7 +2147,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1840 + src/physics/p2/Body.js line 1840 @@ -2220,7 +2224,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1643 + src/physics/p2/Body.js line 1643 @@ -2297,7 +2301,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1862 + src/physics/p2/Body.js line 1862 @@ -2374,7 +2378,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1888 + src/physics/p2/Body.js line 1888 @@ -2451,7 +2455,7 @@
Type:
Source:
- src/physics/p2/Body.js line 54 + src/physics/p2/Body.js line 54 @@ -2535,7 +2539,7 @@
Type:
Source:
- src/physics/p2/Body.js line 93 + src/physics/p2/Body.js line 93 @@ -2618,7 +2622,7 @@
Type:
Source:
- src/physics/p2/Body.js line 108 + src/physics/p2/Body.js line 108 @@ -2695,7 +2699,7 @@
Type:
Source:
- src/physics/p2/Body.js line 118 + src/physics/p2/Body.js line 118 @@ -2773,7 +2777,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1913 + src/physics/p2/Body.js line 1913 @@ -2850,7 +2854,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1938 + src/physics/p2/Body.js line 1938 @@ -2927,7 +2931,7 @@
Type:
Source:
- src/physics/p2/Body.js line 44 + src/physics/p2/Body.js line 44 @@ -3004,7 +3008,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1581 + src/physics/p2/Body.js line 1581 @@ -3081,7 +3085,7 @@
Type:
Source:
- src/physics/p2/Body.js line 49 + src/physics/p2/Body.js line 49 @@ -3158,7 +3162,7 @@
Type:
Source:
- src/physics/p2/Body.js line 67 + src/physics/p2/Body.js line 67 @@ -3235,7 +3239,7 @@
Type:
Source:
- src/physics/p2/Body.js line 39 + src/physics/p2/Body.js line 39 @@ -3312,7 +3316,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1960 + src/physics/p2/Body.js line 1960 @@ -3389,7 +3393,7 @@
Type:
Source:
- src/physics/p2/Body.js line 1982 + src/physics/p2/Body.js line 1982 @@ -3690,7 +3694,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1153 + src/physics/p2/Body.js line 1153 @@ -3984,7 +3988,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1057 + src/physics/p2/Body.js line 1057 @@ -4142,7 +4146,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1404 + src/physics/p2/Body.js line 1404 @@ -4438,7 +4442,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1132 + src/physics/p2/Body.js line 1132 @@ -4696,7 +4700,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1114 + src/physics/p2/Body.js line 1114 @@ -4881,7 +4885,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1363 + src/physics/p2/Body.js line 1363 @@ -5139,7 +5143,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1096 + src/physics/p2/Body.js line 1096 @@ -5436,8 +5440,8 @@
Properties

An array of 2d vectors that form the convex or concave polygon. - Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...]. In the first form the array will mutate. - Or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

+Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...]. In the first form the array will mutate. +Or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

@@ -5480,7 +5484,7 @@
Properties
Source:
- src/physics/p2/Body.js line 1174 + src/physics/p2/Body.js line 1174 @@ -5810,7 +5814,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1076 + src/physics/p2/Body.js line 1076 @@ -6106,7 +6110,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1030 + src/physics/p2/Body.js line 1030 @@ -6214,7 +6218,7 @@

Source:
- src/physics/p2/Body.js line 938 + src/physics/p2/Body.js line 938 @@ -6298,7 +6302,7 @@

Source:
- src/physics/p2/Body.js line 497 + src/physics/p2/Body.js line 497 @@ -6432,7 +6436,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 525 + src/physics/p2/Body.js line 525 @@ -6619,7 +6623,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 573 + src/physics/p2/Body.js line 573 @@ -6806,7 +6810,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 538 + src/physics/p2/Body.js line 538 @@ -6993,7 +6997,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 555 + src/physics/p2/Body.js line 555 @@ -7225,7 +7229,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 329 + src/physics/p2/Body.js line 329 @@ -7309,7 +7313,7 @@

Source:
- src/physics/p2/Body.js line 1011 + src/physics/p2/Body.js line 1011 @@ -7558,7 +7562,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 443 + src/physics/p2/Body.js line 443 @@ -7752,7 +7756,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 181 + src/physics/p2/Body.js line 181 @@ -7938,7 +7942,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 222 + src/physics/p2/Body.js line 222 @@ -8022,7 +8026,7 @@

Source:
- src/physics/p2/Body.js line 979 + src/physics/p2/Body.js line 979 @@ -8106,7 +8110,7 @@

Source:
- src/physics/p2/Body.js line 250 + src/physics/p2/Body.js line 250 @@ -8288,7 +8292,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 510 + src/physics/p2/Body.js line 510 @@ -8423,7 +8427,7 @@
Parameters:

The key of the Physics Data file as stored in Game.Cache. Alternatively set to null and pass the - data as the 2nd argument.

+data as the 2nd argument.

@@ -8463,7 +8467,7 @@
Parameters:

The key of the object within the Physics data file that you wish to load the shape data from, - or if key is null pass the actual physics data object itself as this parameter.

+or if key is null pass the actual physics data object itself as this parameter.

@@ -8546,7 +8550,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1477 + src/physics/p2/Body.js line 1477 @@ -8705,7 +8709,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 713 + src/physics/p2/Body.js line 713 @@ -8840,7 +8844,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 845 + src/physics/p2/Body.js line 845 @@ -8975,7 +8979,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 695 + src/physics/p2/Body.js line 695 @@ -9110,7 +9114,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 803 + src/physics/p2/Body.js line 803 @@ -9245,7 +9249,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 817 + src/physics/p2/Body.js line 817 @@ -9380,7 +9384,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 831 + src/physics/p2/Body.js line 831 @@ -9464,7 +9468,7 @@

Source:
- src/physics/p2/Body.js line 878 + src/physics/p2/Body.js line 878 @@ -9548,7 +9552,7 @@

Source:
- src/physics/p2/Body.js line 859 + src/physics/p2/Body.js line 859 @@ -9779,7 +9783,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 378 + src/physics/p2/Body.js line 378 @@ -9863,7 +9867,7 @@

Source:
- src/physics/p2/Body.js line 964 + src/physics/p2/Body.js line 964 @@ -10009,7 +10013,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1241 + src/physics/p2/Body.js line 1241 @@ -10299,7 +10303,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 904 + src/physics/p2/Body.js line 904 @@ -10434,7 +10438,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 785 + src/physics/p2/Body.js line 785 @@ -10568,7 +10572,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 669 + src/physics/p2/Body.js line 669 @@ -10702,7 +10706,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 682 + src/physics/p2/Body.js line 682 @@ -10973,7 +10977,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1258 + src/physics/p2/Body.js line 1258 @@ -11152,7 +11156,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 300 + src/physics/p2/Body.js line 300 @@ -11331,7 +11335,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1323 + src/physics/p2/Body.js line 1323 @@ -11647,7 +11651,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1277 + src/physics/p2/Body.js line 1277 @@ -11823,7 +11827,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 1302 + src/physics/p2/Body.js line 1302 @@ -11931,7 +11935,7 @@

Source:
- src/physics/p2/Body.js line 628 + src/physics/p2/Body.js line 628 @@ -12015,7 +12019,7 @@

Source:
- src/physics/p2/Body.js line 591 + src/physics/p2/Body.js line 591 @@ -12099,7 +12103,7 @@

Source:
- src/physics/p2/Body.js line 603 + src/physics/p2/Body.js line 603 @@ -12183,7 +12187,7 @@

Source:
- src/physics/p2/Body.js line 615 + src/physics/p2/Body.js line 615 @@ -12267,7 +12271,7 @@

Source:
- src/physics/p2/Body.js line 1348 + src/physics/p2/Body.js line 1348 @@ -12402,7 +12406,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 731 + src/physics/p2/Body.js line 731 @@ -12537,7 +12541,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 749 + src/physics/p2/Body.js line 749 @@ -12672,7 +12676,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 767 + src/physics/p2/Body.js line 767 @@ -12836,7 +12840,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 641 + src/physics/p2/Body.js line 641 @@ -12994,7 +12998,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 655 + src/physics/p2/Body.js line 655 @@ -13140,7 +13144,7 @@
Parameters:
Source:
- src/physics/p2/Body.js line 275 + src/physics/p2/Body.js line 275 @@ -13183,9 +13187,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -13200,9 +13204,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -13231,7 +13235,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.BodyDebug.html b/docs/Phaser.Physics.P2.BodyDebug.html index e0617e886..a23fd7e7f 100644 --- a/docs/Phaser.Physics.P2.BodyDebug.html +++ b/docs/Phaser.Physics.P2.BodyDebug.html @@ -6,7 +6,7 @@ Phaser CE Class: BodyDebug - + @@ -283,7 +283,7 @@
Parameters:
Source:
- src/physics/p2/BodyDebug.js line 24 + src/physics/p2/BodyDebug.js line 24 @@ -415,7 +415,7 @@
Type:
Source:
- src/core/Group.js line 92 + src/core/Group.js line 92 @@ -501,7 +501,7 @@
Type:
Source:
- src/core/Group.js line 3339 + src/core/Group.js line 3339 @@ -590,7 +590,7 @@
Type:
Source:
- src/core/Group.js line 2985 + src/core/Group.js line 2985 @@ -667,7 +667,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 51 + src/physics/p2/BodyDebug.js line 51 @@ -755,7 +755,7 @@
Type:
Source:
- src/core/Group.js line 3160 + src/core/Group.js line 3160 @@ -848,7 +848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -935,7 +935,7 @@
Type:
Source:
- src/core/Group.js line 278 + src/core/Group.js line 278 @@ -1012,7 +1012,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 56 + src/physics/p2/BodyDebug.js line 56 @@ -1100,7 +1100,7 @@
Type:
Source:
- src/core/Group.js line 3010 + src/core/Group.js line 3010 @@ -1188,7 +1188,7 @@
Type:
Source:
- src/core/Group.js line 3040 + src/core/Group.js line 3040 @@ -1274,7 +1274,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1368,7 +1368,7 @@
Type:
Source:
- src/core/Group.js line 128 + src/core/Group.js line 128 @@ -1455,7 +1455,7 @@
Type:
Source:
- src/core/Group.js line 136 + src/core/Group.js line 136 @@ -1541,7 +1541,7 @@
Type:
Source:
- src/core/Group.js line 261 + src/core/Group.js line 261 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/core/Group.js line 214 + src/core/Group.js line 214 @@ -1716,7 +1716,7 @@
Type:
Source:
- src/core/Group.js line 223 + src/core/Group.js line 223 @@ -1809,7 +1809,7 @@
Type:
Source:
- src/core/Group.js line 99 + src/core/Group.js line 99 @@ -1895,7 +1895,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -1986,7 +1986,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2074,7 +2074,7 @@
Type:
Source:
- src/core/Group.js line 271 + src/core/Group.js line 271 @@ -2160,7 +2160,7 @@
Type:
Source:
- src/core/Group.js line 39 + src/core/Group.js line 39 @@ -2250,7 +2250,7 @@
Type:
Source:
- src/core/Group.js line 291 + src/core/Group.js line 291 @@ -2336,7 +2336,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -2432,7 +2432,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -2520,7 +2520,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -2606,7 +2606,7 @@
Type:
Source:
- src/core/Group.js line 106 + src/core/Group.js line 106 @@ -2694,7 +2694,7 @@
Type:
Source:
- src/core/Group.js line 147 + src/core/Group.js line 147 @@ -2782,7 +2782,7 @@
Type:
Source:
- src/core/Group.js line 3070 + src/core/Group.js line 3070 @@ -2868,7 +2868,7 @@
Type:
Source:
- src/core/Group.js line 2967 + src/core/Group.js line 2967 @@ -2957,7 +2957,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -3043,7 +3043,7 @@
Type:
Source:
- src/core/Group.js line 50 + src/core/Group.js line 50 @@ -3133,7 +3133,7 @@
Type:
Source:
- src/core/Group.js line 167 + src/core/Group.js line 167 @@ -3223,7 +3223,7 @@
Type:
Source:
- src/core/Group.js line 204 + src/core/Group.js line 204 @@ -3313,7 +3313,7 @@
Type:
Source:
- src/core/Group.js line 192 + src/core/Group.js line 192 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/core/Group.js line 180 + src/core/Group.js line 180 @@ -3490,7 +3490,7 @@
Type:
Source:
- src/core/Group.js line 255 + src/core/Group.js line 255 @@ -3579,7 +3579,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -3669,7 +3669,7 @@
Type:
Source:
- src/core/Group.js line 118 + src/core/Group.js line 118 @@ -3756,7 +3756,7 @@
Type:
Source:
- src/core/Group.js line 231 + src/core/Group.js line 231 @@ -3849,7 +3849,7 @@
Type:
Source:
- src/core/Group.js line 249 + src/core/Group.js line 249 @@ -3935,7 +3935,7 @@
Type:
Source:
- src/core/Group.js line 85 + src/core/Group.js line 85 @@ -4022,7 +4022,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4110,7 +4110,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -4187,7 +4187,7 @@
Type:
Source:
- src/physics/p2/BodyDebug.js line 45 + src/physics/p2/BodyDebug.js line 45 @@ -4274,7 +4274,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -4362,7 +4362,7 @@
Type:
Source:
- src/core/Group.js line 3100 + src/core/Group.js line 3100 @@ -4450,7 +4450,7 @@
Type:
Source:
- src/core/Group.js line 3323 + src/core/Group.js line 3323 @@ -4539,7 +4539,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -4627,7 +4627,7 @@
Type:
Source:
- src/core/Group.js line 3130 + src/core/Group.js line 3130 @@ -4713,7 +4713,7 @@
Type:
Source:
- src/core/Group.js line 2949 + src/core/Group.js line 2949 @@ -4799,7 +4799,7 @@
Type:
Source:
- src/core/Group.js line 79 + src/core/Group.js line 79 @@ -4885,7 +4885,7 @@
Type:
Source:
- src/core/Group.js line 155 + src/core/Group.js line 155 @@ -4971,7 +4971,7 @@
Type:
Source:
- src/core/Group.js line 3332 + src/core/Group.js line 3332 @@ -5057,7 +5057,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -5149,7 +5149,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -5240,7 +5240,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -5331,7 +5331,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -5422,7 +5422,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -5513,7 +5513,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -5599,7 +5599,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -5687,7 +5687,7 @@
Type:
Source:
- src/core/Group.js line 3305 + src/core/Group.js line 3305 @@ -5775,7 +5775,7 @@
Type:
Source:
- src/core/Group.js line 3314 + src/core/Group.js line 3314 @@ -5862,7 +5862,7 @@
Type:
Source:
- src/core/Group.js line 58 + src/core/Group.js line 58 @@ -6100,7 +6100,7 @@
Parameters:
Source:
- src/core/Group.js line 347 + src/core/Group.js line 347 @@ -6378,7 +6378,7 @@
Parameters:
Source:
- src/core/Group.js line 1481 + src/core/Group.js line 1481 @@ -6620,7 +6620,7 @@
Parameters:
Source:
- src/core/Group.js line 425 + src/core/Group.js line 425 @@ -6787,7 +6787,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -6978,7 +6978,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -7209,7 +7209,7 @@
Parameters:
Source:
- src/core/Group.js line 499 + src/core/Group.js line 499 @@ -7380,7 +7380,7 @@
Parameters:
Source:
- src/core/Group.js line 447 + src/core/Group.js line 447 @@ -7775,7 +7775,7 @@
Parameters:
Source:
- src/core/Group.js line 705 + src/core/Group.js line 705 @@ -8118,7 +8118,7 @@
Parameters:
Source:
- src/core/Group.js line 3190 + src/core/Group.js line 3190 @@ -8462,7 +8462,7 @@
Parameters:
Source:
- src/core/Group.js line 3232 + src/core/Group.js line 3232 @@ -8653,7 +8653,7 @@
Parameters:
Source:
- src/core/Group.js line 2128 + src/core/Group.js line 2128 @@ -8796,7 +8796,7 @@
Parameters:
Source:
- src/core/Group.js line 935 + src/core/Group.js line 935 @@ -9059,7 +9059,7 @@
Parameters:
Source:
- src/core/Group.js line 1710 + src/core/Group.js line 1710 @@ -9279,7 +9279,7 @@
Parameters:
Source:
- src/core/Group.js line 1622 + src/core/Group.js line 1622 @@ -9470,7 +9470,7 @@
Parameters:
Source:
- src/core/Group.js line 1659 + src/core/Group.js line 1659 @@ -9786,7 +9786,7 @@
Parameters:
Source:
- src/core/Group.js line 1409 + src/core/Group.js line 1409 @@ -10088,7 +10088,7 @@
Parameters:
Source:
- src/core/Group.js line 1446 + src/core/Group.js line 1446 @@ -10385,7 +10385,7 @@
Parameters:
Source:
- src/core/Group.js line 1260 + src/core/Group.js line 1260 @@ -10552,7 +10552,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -10739,7 +10739,7 @@
Parameters:
Source:
- src/core/Group.js line 2559 + src/core/Group.js line 2559 @@ -10856,7 +10856,7 @@

Source:
- src/core/Group.js line 2587 + src/core/Group.js line 2587 @@ -10973,7 +10973,7 @@

Source:
- src/core/Group.js line 2574 + src/core/Group.js line 2574 @@ -11367,7 +11367,7 @@
Parameters:
Source:
- src/core/Group.js line 556 + src/core/Group.js line 556 @@ -11774,7 +11774,7 @@
Parameters:
Source:
- src/core/Group.js line 594 + src/core/Group.js line 594 @@ -11987,7 +11987,7 @@
Parameters:
Source:
- src/core/Group.js line 2103 + src/core/Group.js line 2103 @@ -12154,7 +12154,7 @@
Parameters:
Source:
- src/core/Group.js line 2159 + src/core/Group.js line 2159 @@ -12358,7 +12358,7 @@
Parameters:
Source:
- src/core/Group.js line 2911 + src/core/Group.js line 2911 @@ -12574,7 +12574,7 @@
Parameters:
Source:
- src/core/Group.js line 1535 + src/core/Group.js line 1535 @@ -12658,7 +12658,7 @@

Source:
- src/physics/p2/BodyDebug.js line 87 + src/physics/p2/BodyDebug.js line 87 @@ -12699,10 +12699,12 @@

Find children matching a certain predicate.

For example:

-
var healthyList = Group.filter(function(child, index, children) {
-    return child.health > 10 ? true : false;
+
var healthyList = Group.filter(function(child, index, children) {
+    return child.health > 10 ? true : false;
 }, true);
-healthyList.callAll('attack');

Note: Currently this will skip any children which are Groups themselves.

+healthyList.callAll('attack'); +
+

Note: Currently this will skip any children which are Groups themselves.

@@ -12862,7 +12864,7 @@

Parameters:
Source:
- src/core/Group.js line 1875 + src/core/Group.js line 1875 @@ -12927,7 +12929,9 @@

Call a function on each child in this group.

Additional arguments for the callback can be specified after the checkExists parameter. For example,

-
Group.forEach(awardBonusGold, this, true, 100, 500)

would invoke awardBonusGold function with the parameters (child, 100, 500).

+
Group.forEach(awardBonusGold, this, true, 100, 500)
+
+

would invoke awardBonusGold function with the parameters (child, 100, 500).

Note: This check will skip any children which are Groups themselves.

@@ -13166,7 +13170,7 @@

Parameters:
Source:
- src/core/Group.js line 1916 + src/core/Group.js line 1916 @@ -13404,7 +13408,7 @@
Parameters:
Source:
- src/core/Group.js line 2004 + src/core/Group.js line 2004 @@ -13642,7 +13646,7 @@
Parameters:
Source:
- src/core/Group.js line 2033 + src/core/Group.js line 2033 @@ -13880,7 +13884,7 @@
Parameters:
Source:
- src/core/Group.js line 1975 + src/core/Group.js line 1975 @@ -14125,7 +14129,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -14433,7 +14437,7 @@
Parameters:
Source:
- src/core/Group.js line 2644 + src/core/Group.js line 2644 @@ -14602,7 +14606,7 @@
Parameters:
Source:
- src/core/Group.js line 535 + src/core/Group.js line 535 @@ -14723,7 +14727,7 @@

Source:
- src/core/Group.js line 2451 + src/core/Group.js line 2451 @@ -14905,7 +14909,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 315 + src/pixi/display/DisplayObjectContainer.js line 315 @@ -15074,7 +15078,7 @@
Parameters:
Source:
- src/core/Group.js line 1089 + src/core/Group.js line 1089 @@ -15241,7 +15245,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -15408,7 +15412,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -15659,7 +15663,7 @@
Parameters:
Source:
- src/core/Group.js line 2469 + src/core/Group.js line 2469 @@ -15850,7 +15854,7 @@
Parameters:
Source:
- src/core/Group.js line 2281 + src/core/Group.js line 2281 @@ -16209,7 +16213,7 @@
Parameters:
Source:
- src/core/Group.js line 2331 + src/core/Group.js line 2331 @@ -16568,7 +16572,7 @@
Parameters:
Source:
- src/core/Group.js line 2362 + src/core/Group.js line 2362 @@ -16966,7 +16970,7 @@
Parameters:
Source:
- src/core/Group.js line 2296 + src/core/Group.js line 2296 @@ -17217,7 +17221,7 @@
Parameters:
Source:
- src/core/Group.js line 2514 + src/core/Group.js line 2514 @@ -17384,7 +17388,7 @@
Parameters:
Source:
- src/core/Group.js line 1075 + src/core/Group.js line 1075 @@ -17501,7 +17505,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -17728,7 +17732,7 @@
Parameters:
Source:
- src/core/Group.js line 2600 + src/core/Group.js line 2600 @@ -17956,7 +17960,7 @@
Parameters:
Source:
- src/core/Group.js line 2623 + src/core/Group.js line 2623 @@ -18074,7 +18078,7 @@

Source:
- src/core/Group.js line 2433 + src/core/Group.js line 2433 @@ -18266,7 +18270,7 @@
Parameters:
Source:
- src/core/Group.js line 1145 + src/core/Group.js line 1145 @@ -18335,12 +18339,12 @@

The result depends on the returnType:

  • RETURN_TOTAL: - The callback, if any, is applied to all matching children. The number of matched children is returned.
  • +The callback, if any, is applied to all matching children. The number of matched children is returned.
  • RETURN_NONE: - The callback, if any, is applied to all matching children. No value is returned.
  • +The callback, if any, is applied to all matching children. No value is returned.
  • RETURN_CHILD: - The callback, if any, is applied to the first matching child and the first matched child is returned. - If there is no matching child then null is returned.
  • +The callback, if any, is applied to the first matching child and the first matched child is returned. +If there is no matching child then null is returned.

If args is specified it must be an array. The matched child will be assigned to the first element and the entire array will be applied to the callback function.

@@ -18653,7 +18657,7 @@

Parameters:
Source:
- src/core/Group.js line 2185 + src/core/Group.js line 2185 @@ -18770,7 +18774,7 @@

Source:
- src/core/Group.js line 1553 + src/core/Group.js line 1553 @@ -18863,7 +18867,7 @@

Source:
- src/core/Group.js line 1567 + src/core/Group.js line 1567 @@ -19062,7 +19066,7 @@
Parameters:
Source:
- src/core/Group.js line 2740 + src/core/Group.js line 2740 @@ -19229,7 +19233,7 @@
Parameters:
Source:
- src/core/Group.js line 1012 + src/core/Group.js line 1012 @@ -19396,7 +19400,7 @@
Parameters:
Source:
- src/core/Group.js line 987 + src/core/Group.js line 987 @@ -19636,7 +19640,7 @@
Parameters:
Source:
- src/core/Group.js line 1517 + src/core/Group.js line 1517 @@ -19730,7 +19734,7 @@

Source:
- src/core/Group.js line 858 + src/core/Group.js line 858 @@ -19847,7 +19851,7 @@

Source:
- src/core/Group.js line 1853 + src/core/Group.js line 1853 @@ -19940,7 +19944,7 @@

Source:
- src/core/Group.js line 1783 + src/core/Group.js line 1783 @@ -20034,7 +20038,7 @@

Source:
- src/core/Group.js line 888 + src/core/Group.js line 888 @@ -20299,7 +20303,7 @@
Parameters:
Source:
- src/core/Group.js line 2691 + src/core/Group.js line 2691 @@ -20569,7 +20573,7 @@
Parameters:
Source:
- src/core/Group.js line 2770 + src/core/Group.js line 2770 @@ -20846,7 +20850,7 @@
Parameters:
Source:
- src/core/Group.js line 2819 + src/core/Group.js line 2819 @@ -20989,7 +20993,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -21156,7 +21160,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -21347,7 +21351,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -21491,7 +21495,7 @@
Parameters:
Source:
- src/core/Group.js line 473 + src/core/Group.js line 473 @@ -21684,7 +21688,7 @@
Parameters:
Source:
- src/core/Group.js line 1105 + src/core/Group.js line 1105 @@ -22038,7 +22042,7 @@
Parameters:
Source:
- src/core/Group.js line 1605 + src/core/Group.js line 1605 @@ -22344,7 +22348,7 @@
Parameters:
Source:
- src/core/Group.js line 2393 + src/core/Group.js line 2393 @@ -22532,7 +22536,7 @@
Parameters:
Source:
- src/core/Group.js line 830 + src/core/Group.js line 830 @@ -22650,7 +22654,7 @@

Source:
- src/core/Group.js line 1060 + src/core/Group.js line 1060 @@ -22743,7 +22747,7 @@

Source:
- src/core/Group.js line 1579 + src/core/Group.js line 1579 @@ -22836,7 +22840,7 @@

Source:
- src/core/Group.js line 1593 + src/core/Group.js line 1593 @@ -23039,7 +23043,7 @@
Parameters:
Source:
- src/core/Group.js line 2875 + src/core/Group.js line 2875 @@ -23182,7 +23186,7 @@
Parameters:
Source:
- src/core/Group.js line 961 + src/core/Group.js line 961 @@ -23598,7 +23602,7 @@
Parameters:
Source:
- src/core/Group.js line 1291 + src/core/Group.js line 1291 @@ -23980,7 +23984,7 @@
Parameters:
Source:
- src/core/Group.js line 1323 + src/core/Group.js line 1323 @@ -24338,7 +24342,7 @@
Parameters:
Source:
- src/core/Group.js line 1363 + src/core/Group.js line 1363 @@ -24505,7 +24509,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -24824,7 +24828,7 @@
Parameters:
Source:
- src/core/Group.js line 1181 + src/core/Group.js line 1181 @@ -24942,7 +24946,7 @@

Source:
- src/core/Group.js line 2896 + src/core/Group.js line 2896 @@ -25149,7 +25153,7 @@
Parameters:
Source:
- src/core/Group.js line 2062 + src/core/Group.js line 2062 @@ -25365,7 +25369,7 @@
Parameters:
Source:
- src/core/Group.js line 1499 + src/core/Group.js line 1499 @@ -25533,7 +25537,7 @@
Parameters:
Source:
- src/core/Group.js line 918 + src/core/Group.js line 918 @@ -25700,7 +25704,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -25843,7 +25847,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -26056,7 +26060,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -26176,7 +26180,7 @@

Source:
- src/core/Group.js line 1823 + src/core/Group.js line 1823 @@ -26269,7 +26273,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -26379,7 +26383,7 @@

Source:
- src/physics/p2/BodyDebug.js line 73 + src/physics/p2/BodyDebug.js line 73 @@ -26542,7 +26546,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 295 + src/pixi/display/DisplayObject.js line 295 @@ -26662,7 +26666,7 @@

Source:
- src/core/Group.js line 685 + src/core/Group.js line 685 @@ -26853,7 +26857,7 @@
Parameters:
Source:
- src/core/Group.js line 1037 + src/core/Group.js line 1037 @@ -26896,9 +26900,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -26913,9 +26917,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -26944,7 +26948,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.CollisionGroup.html b/docs/Phaser.Physics.P2.CollisionGroup.html index 50b516825..766d76db7 100644 --- a/docs/Phaser.Physics.P2.CollisionGroup.html +++ b/docs/Phaser.Physics.P2.CollisionGroup.html @@ -6,7 +6,7 @@ Phaser CE Class: CollisionGroup - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/physics/p2/CollisionGroup.js line 14 + src/physics/p2/CollisionGroup.js line 14 @@ -335,7 +335,7 @@
Type:
Source:
- src/physics/p2/CollisionGroup.js line 20 + src/physics/p2/CollisionGroup.js line 20 @@ -368,9 +368,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -385,9 +385,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -416,7 +416,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.ContactMaterial.html b/docs/Phaser.Physics.P2.ContactMaterial.html index 655b35c22..e44522b86 100644 --- a/docs/Phaser.Physics.P2.ContactMaterial.html +++ b/docs/Phaser.Physics.P2.ContactMaterial.html @@ -6,7 +6,7 @@ Phaser CE Class: ContactMaterial - + @@ -306,7 +306,7 @@
Parameters:
Source:
- src/physics/p2/ContactMaterial.js line 16 + src/physics/p2/ContactMaterial.js line 16 @@ -363,9 +363,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -380,9 +380,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -411,7 +411,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.DistanceConstraint.html b/docs/Phaser.Physics.P2.DistanceConstraint.html index 69d5ef582..76183ac20 100644 --- a/docs/Phaser.Physics.P2.DistanceConstraint.html +++ b/docs/Phaser.Physics.P2.DistanceConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: DistanceConstraint - + @@ -470,7 +470,7 @@
Parameters:
Source:
- src/physics/p2/DistanceConstraint.js line 20 + src/physics/p2/DistanceConstraint.js line 20 @@ -575,7 +575,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 31 + src/physics/p2/DistanceConstraint.js line 31 @@ -652,7 +652,7 @@
Type:
Source:
- src/physics/p2/DistanceConstraint.js line 36 + src/physics/p2/DistanceConstraint.js line 36 @@ -685,9 +685,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -702,9 +702,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -733,7 +733,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.FixtureList.html b/docs/Phaser.Physics.P2.FixtureList.html index 8af175bc2..351c33437 100644 --- a/docs/Phaser.Physics.P2.FixtureList.html +++ b/docs/Phaser.Physics.P2.FixtureList.html @@ -6,7 +6,7 @@ Phaser CE Class: FixtureList - + @@ -235,7 +235,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 23 + src/physics/p2/FixtureList.js line 23 @@ -387,7 +387,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 227 + src/physics/p2/FixtureList.js line 227 @@ -521,7 +521,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 170 + src/physics/p2/FixtureList.js line 170 @@ -655,7 +655,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 133 + src/physics/p2/FixtureList.js line 133 @@ -789,7 +789,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 183 + src/physics/p2/FixtureList.js line 183 @@ -869,7 +869,7 @@

Source:
- src/physics/p2/FixtureList.js line 39 + src/physics/p2/FixtureList.js line 39 @@ -953,7 +953,7 @@

Source:
- src/physics/p2/FixtureList.js line 196 + src/physics/p2/FixtureList.js line 196 @@ -1107,7 +1107,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 65 + src/physics/p2/FixtureList.js line 65 @@ -1261,7 +1261,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 82 + src/physics/p2/FixtureList.js line 82 @@ -1415,7 +1415,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 116 + src/physics/p2/FixtureList.js line 116 @@ -1569,7 +1569,7 @@
Parameters:
Source:
- src/physics/p2/FixtureList.js line 99 + src/physics/p2/FixtureList.js line 99 @@ -1612,9 +1612,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1629,9 +1629,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1660,7 +1660,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.P2.GearConstraint.html b/docs/Phaser.Physics.P2.GearConstraint.html index 8fc961960..cba18fe8e 100644 --- a/docs/Phaser.Physics.P2.GearConstraint.html +++ b/docs/Phaser.Physics.P2.GearConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: GearConstraint - + @@ -398,7 +398,7 @@
Parameters:
Source:
- src/physics/p2/GearConstraint.js line 18 + src/physics/p2/GearConstraint.js line 18 @@ -503,7 +503,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 27 + src/physics/p2/GearConstraint.js line 27 @@ -580,7 +580,7 @@
Type:
Source:
- src/physics/p2/GearConstraint.js line 32 + src/physics/p2/GearConstraint.js line 32 @@ -613,9 +613,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -630,9 +630,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -661,7 +661,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.InversePointProxy.html b/docs/Phaser.Physics.P2.InversePointProxy.html index c7ac99b9b..13f083c49 100644 --- a/docs/Phaser.Physics.P2.InversePointProxy.html +++ b/docs/Phaser.Physics.P2.InversePointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: InversePointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/InversePointProxy.js line 15 + src/physics/p2/InversePointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 69 + src/physics/p2/InversePointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 91 + src/physics/p2/InversePointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 25 + src/physics/p2/InversePointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/InversePointProxy.js line 47 + src/physics/p2/InversePointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -640,9 +640,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.LockConstraint.html b/docs/Phaser.Physics.P2.LockConstraint.html index cfa3aae8a..f88a7fa9d 100644 --- a/docs/Phaser.Physics.P2.LockConstraint.html +++ b/docs/Phaser.Physics.P2.LockConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: LockConstraint - + @@ -434,7 +434,7 @@
Parameters:
Source:
- src/physics/p2/LockConstraint.js line 19 + src/physics/p2/LockConstraint.js line 19 @@ -539,7 +539,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 29 + src/physics/p2/LockConstraint.js line 29 @@ -616,7 +616,7 @@
Type:
Source:
- src/physics/p2/LockConstraint.js line 34 + src/physics/p2/LockConstraint.js line 34 @@ -649,9 +649,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -666,9 +666,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -697,7 +697,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Material.html b/docs/Phaser.Physics.P2.Material.html index 51b68ee0f..7e68e01ae 100644 --- a/docs/Phaser.Physics.P2.Material.html +++ b/docs/Phaser.Physics.P2.Material.html @@ -6,7 +6,7 @@ Phaser CE Class: Material - + @@ -231,7 +231,7 @@
Parameters:
Source:
- src/physics/p2/Material.js line 16 + src/physics/p2/Material.js line 16 @@ -336,7 +336,7 @@
Type:
Source:
- src/physics/p2/Material.js line 23 + src/physics/p2/Material.js line 23 @@ -369,9 +369,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -386,9 +386,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -417,7 +417,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PointProxy.html b/docs/Phaser.Physics.P2.PointProxy.html index 84680332e..40d869746 100644 --- a/docs/Phaser.Physics.P2.PointProxy.html +++ b/docs/Phaser.Physics.P2.PointProxy.html @@ -6,7 +6,7 @@ Phaser CE Class: PointProxy - + @@ -254,7 +254,7 @@
Parameters:
Source:
- src/physics/p2/PointProxy.js line 15 + src/physics/p2/PointProxy.js line 15 @@ -359,7 +359,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 69 + src/physics/p2/PointProxy.js line 69 @@ -436,7 +436,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 91 + src/physics/p2/PointProxy.js line 91 @@ -513,7 +513,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 25 + src/physics/p2/PointProxy.js line 25 @@ -590,7 +590,7 @@
Type:
Source:
- src/physics/p2/PointProxy.js line 47 + src/physics/p2/PointProxy.js line 47 @@ -623,9 +623,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -640,9 +640,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -671,7 +671,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.PrismaticConstraint.html b/docs/Phaser.Physics.P2.PrismaticConstraint.html index 58361a204..6730cb4e3 100644 --- a/docs/Phaser.Physics.P2.PrismaticConstraint.html +++ b/docs/Phaser.Physics.P2.PrismaticConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: PrismaticConstraint - + @@ -510,7 +510,7 @@
Parameters:
Source:
- src/physics/p2/PrismaticConstraint.js line 21 + src/physics/p2/PrismaticConstraint.js line 21 @@ -615,7 +615,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 33 + src/physics/p2/PrismaticConstraint.js line 33 @@ -692,7 +692,7 @@
Type:
Source:
- src/physics/p2/PrismaticConstraint.js line 38 + src/physics/p2/PrismaticConstraint.js line 38 @@ -725,9 +725,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -742,9 +742,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -773,7 +773,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RevoluteConstraint.html b/docs/Phaser.Physics.P2.RevoluteConstraint.html index 878ed0cd3..cbec3bfb2 100644 --- a/docs/Phaser.Physics.P2.RevoluteConstraint.html +++ b/docs/Phaser.Physics.P2.RevoluteConstraint.html @@ -6,7 +6,7 @@ Phaser CE Class: RevoluteConstraint - + @@ -471,7 +471,7 @@
Parameters:
Source:
- src/physics/p2/RevoluteConstraint.js line 21 + src/physics/p2/RevoluteConstraint.js line 21 @@ -576,7 +576,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 30 + src/physics/p2/RevoluteConstraint.js line 30 @@ -653,7 +653,7 @@
Type:
Source:
- src/physics/p2/RevoluteConstraint.js line 35 + src/physics/p2/RevoluteConstraint.js line 35 @@ -686,9 +686,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -703,9 +703,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -734,7 +734,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.RotationalSpring.html b/docs/Phaser.Physics.P2.RotationalSpring.html index a0567e6bc..290e2945c 100644 --- a/docs/Phaser.Physics.P2.RotationalSpring.html +++ b/docs/Phaser.Physics.P2.RotationalSpring.html @@ -6,7 +6,7 @@ Phaser CE Class: RotationalSpring - + @@ -436,7 +436,7 @@
Parameters:
Source:
- src/physics/p2/RotationalSpring.js line 19 + src/physics/p2/RotationalSpring.js line 19 @@ -541,7 +541,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 50 + src/physics/p2/RotationalSpring.js line 50 @@ -618,7 +618,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 25 + src/physics/p2/RotationalSpring.js line 25 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/RotationalSpring.js line 30 + src/physics/p2/RotationalSpring.js line 30 @@ -728,9 +728,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -745,9 +745,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -776,7 +776,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.Spring.html b/docs/Phaser.Physics.P2.Spring.html index 7e3495404..fdb784a33 100644 --- a/docs/Phaser.Physics.P2.Spring.html +++ b/docs/Phaser.Physics.P2.Spring.html @@ -6,7 +6,7 @@ Phaser CE Class: Spring - + @@ -590,7 +590,7 @@
Parameters:
Source:
- src/physics/p2/Spring.js line 23 + src/physics/p2/Spring.js line 23 @@ -695,7 +695,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 71 + src/physics/p2/Spring.js line 71 @@ -772,7 +772,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 29 + src/physics/p2/Spring.js line 29 @@ -849,7 +849,7 @@
Type:
Source:
- src/physics/p2/Spring.js line 34 + src/physics/p2/Spring.js line 34 @@ -882,9 +882,9 @@
Type:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -899,9 +899,9 @@
Type:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -930,7 +930,7 @@
Type:
- + diff --git a/docs/Phaser.Physics.P2.html b/docs/Phaser.Physics.P2.html index d196342c9..1fd38ea4d 100644 --- a/docs/Phaser.Physics.P2.html +++ b/docs/Phaser.Physics.P2.html @@ -6,7 +6,7 @@ Phaser CE Class: P2 - + @@ -275,7 +275,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 20 + src/physics/p2/World.js line 20 @@ -429,7 +429,7 @@
Type:
Source:
- src/physics/p2/World.js line 1997 + src/physics/p2/World.js line 1997 @@ -506,7 +506,7 @@
Type:
Source:
- src/physics/p2/World.js line 2019 + src/physics/p2/World.js line 2019 @@ -583,7 +583,7 @@
Type:
Source:
- src/physics/p2/World.js line 1975 + src/physics/p2/World.js line 1975 @@ -660,7 +660,7 @@
Type:
Source:
- src/physics/p2/World.js line 233 + src/physics/p2/World.js line 233 @@ -737,7 +737,7 @@
Type:
Source:
- src/physics/p2/World.js line 223 + src/physics/p2/World.js line 223 @@ -814,7 +814,7 @@
Type:
Source:
- src/physics/p2/World.js line 171 + src/physics/p2/World.js line 171 @@ -891,7 +891,7 @@
Type:
Source:
- src/physics/p2/World.js line 213 + src/physics/p2/World.js line 213 @@ -968,7 +968,7 @@
Type:
Source:
- src/physics/p2/World.js line 49 + src/physics/p2/World.js line 49 @@ -1045,7 +1045,7 @@
Type:
Source:
- src/physics/p2/World.js line 1953 + src/physics/p2/World.js line 1953 @@ -1122,7 +1122,7 @@
Type:
Source:
- src/physics/p2/World.js line 2079 + src/physics/p2/World.js line 2079 @@ -1199,7 +1199,7 @@
Type:
Source:
- src/physics/p2/World.js line 228 + src/physics/p2/World.js line 228 @@ -1276,7 +1276,7 @@
Type:
Source:
- src/physics/p2/World.js line 61 + src/physics/p2/World.js line 61 @@ -1353,7 +1353,7 @@
Type:
Source:
- src/physics/p2/World.js line 1909 + src/physics/p2/World.js line 1909 @@ -1430,7 +1430,7 @@
Type:
Source:
- src/physics/p2/World.js line 26 + src/physics/p2/World.js line 26 @@ -1507,7 +1507,7 @@
Type:
Source:
- src/physics/p2/World.js line 84 + src/physics/p2/World.js line 84 @@ -1584,7 +1584,7 @@
Type:
Source:
- src/physics/p2/World.js line 79 + src/physics/p2/World.js line 79 @@ -1661,7 +1661,7 @@
Type:
Source:
- src/physics/p2/World.js line 218 + src/physics/p2/World.js line 218 @@ -1741,7 +1741,7 @@
Type:
Source:
- src/physics/p2/World.js line 183 + src/physics/p2/World.js line 183 @@ -1819,7 +1819,7 @@
Type:
Source:
- src/physics/p2/World.js line 98 + src/physics/p2/World.js line 98 @@ -1897,7 +1897,7 @@
Type:
Source:
- src/physics/p2/World.js line 107 + src/physics/p2/World.js line 107 @@ -1975,7 +1975,7 @@
Type:
Source:
- src/physics/p2/World.js line 134 + src/physics/p2/World.js line 134 @@ -2053,7 +2053,7 @@
Type:
Source:
- src/physics/p2/World.js line 143 + src/physics/p2/World.js line 143 @@ -2131,7 +2131,7 @@
Type:
Source:
- src/physics/p2/World.js line 152 + src/physics/p2/World.js line 152 @@ -2209,7 +2209,7 @@
Type:
Source:
- src/physics/p2/World.js line 161 + src/physics/p2/World.js line 161 @@ -2289,7 +2289,7 @@
Type:
Source:
- src/physics/p2/World.js line 195 + src/physics/p2/World.js line 195 @@ -2367,7 +2367,7 @@
Type:
Source:
- src/physics/p2/World.js line 116 + src/physics/p2/World.js line 116 @@ -2445,7 +2445,7 @@
Type:
Source:
- src/physics/p2/World.js line 125 + src/physics/p2/World.js line 125 @@ -2522,7 +2522,7 @@
Type:
Source:
- src/physics/p2/World.js line 73 + src/physics/p2/World.js line 73 @@ -2599,7 +2599,7 @@
Type:
Source:
- src/physics/p2/World.js line 166 + src/physics/p2/World.js line 166 @@ -2676,7 +2676,7 @@
Type:
Source:
- src/physics/p2/World.js line 1931 + src/physics/p2/World.js line 1931 @@ -2754,7 +2754,7 @@
Type:
Source:
- src/physics/p2/World.js line 2101 + src/physics/p2/World.js line 2101 @@ -2831,7 +2831,7 @@
Type:
Source:
- src/physics/p2/World.js line 2041 + src/physics/p2/World.js line 2041 @@ -2908,7 +2908,7 @@
Type:
Source:
- src/physics/p2/World.js line 2063 + src/physics/p2/World.js line 2063 @@ -2985,7 +2985,7 @@
Type:
Source:
- src/physics/p2/World.js line 2125 + src/physics/p2/World.js line 2125 @@ -3062,7 +3062,7 @@
Type:
Source:
- src/physics/p2/World.js line 67 + src/physics/p2/World.js line 67 @@ -3139,7 +3139,7 @@
Type:
Source:
- src/physics/p2/World.js line 89 + src/physics/p2/World.js line 89 @@ -3216,7 +3216,7 @@
Type:
Source:
- src/physics/p2/World.js line 55 + src/physics/p2/World.js line 55 @@ -3344,7 +3344,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 906 + src/physics/p2/World.js line 906 @@ -3502,7 +3502,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1147 + src/physics/p2/World.js line 1147 @@ -3660,7 +3660,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1183 + src/physics/p2/World.js line 1183 @@ -3824,7 +3824,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 952 + src/physics/p2/World.js line 952 @@ -3982,7 +3982,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 510 + src/physics/p2/World.js line 510 @@ -4075,7 +4075,7 @@

Source:
- src/physics/p2/World.js line 817 + src/physics/p2/World.js line 817 @@ -4259,7 +4259,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1730 + src/physics/p2/World.js line 1730 @@ -4494,7 +4494,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1673 + src/physics/p2/World.js line 1673 @@ -4795,7 +4795,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1753 + src/physics/p2/World.js line 1753 @@ -5267,8 +5267,8 @@
Properties

An array of 2d vectors that form the convex or concave polygon. - Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...], - or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

+Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...], +or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

@@ -5311,7 +5311,7 @@
Properties
Source:
- src/physics/p2/World.js line 1588 + src/physics/p2/World.js line 1588 @@ -5485,7 +5485,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1453 + src/physics/p2/World.js line 1453 @@ -5699,7 +5699,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1281 + src/physics/p2/World.js line 1281 @@ -6045,7 +6045,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1002 + src/physics/p2/World.js line 1002 @@ -6347,7 +6347,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1031 + src/physics/p2/World.js line 1031 @@ -6685,7 +6685,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1088 + src/physics/p2/World.js line 1088 @@ -6891,7 +6891,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1253 + src/physics/p2/World.js line 1253 @@ -7363,8 +7363,8 @@
Properties

An array of 2d vectors that form the convex or concave polygon. - Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...], - or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

+Either [[0,0], [0,1],...] or a flat array of numbers that will be interpreted as [x,y, x,y, ...], +or the arguments passed can be flat x,y values e.g. setPolygon(options, x,y, x,y, x,y, ...) where x and y are numbers.

@@ -7407,7 +7407,7 @@
Properties
Source:
- src/physics/p2/World.js line 1631 + src/physics/p2/World.js line 1631 @@ -7798,7 +7798,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1116 + src/physics/p2/World.js line 1116 @@ -8173,7 +8173,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1058 + src/physics/p2/World.js line 1058 @@ -8513,7 +8513,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1560 + src/physics/p2/World.js line 1560 @@ -9007,7 +9007,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1528 + src/physics/p2/World.js line 1528 @@ -9115,7 +9115,7 @@

Source:
- src/physics/p2/World.js line 892 + src/physics/p2/World.js line 892 @@ -9353,7 +9353,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 316 + src/physics/p2/World.js line 316 @@ -9512,7 +9512,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 374 + src/physics/p2/World.js line 374 @@ -9646,7 +9646,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 536 + src/physics/p2/World.js line 536 @@ -9730,7 +9730,7 @@

Source:
- src/physics/p2/World.js line 1302 + src/physics/p2/World.js line 1302 @@ -9888,7 +9888,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1323 + src/physics/p2/World.js line 1323 @@ -9998,7 +9998,7 @@

Source:
- src/physics/p2/World.js line 1374 + src/physics/p2/World.js line 1374 @@ -10180,7 +10180,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1219 + src/physics/p2/World.js line 1219 @@ -10291,7 +10291,7 @@

Source:
- src/physics/p2/World.js line 1353 + src/physics/p2/World.js line 1353 @@ -10584,7 +10584,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1397 + src/physics/p2/World.js line 1397 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1843 + src/physics/p2/World.js line 1843 @@ -10904,7 +10904,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1875 + src/physics/p2/World.js line 1875 @@ -11012,7 +11012,7 @@

Source:
- src/physics/p2/World.js line 746 + src/physics/p2/World.js line 746 @@ -11096,7 +11096,7 @@

Source:
- src/physics/p2/World.js line 297 + src/physics/p2/World.js line 297 @@ -11232,7 +11232,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1859 + src/physics/p2/World.js line 1859 @@ -11392,7 +11392,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1891 + src/physics/p2/World.js line 1891 @@ -11550,7 +11550,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 931 + src/physics/p2/World.js line 931 @@ -11708,7 +11708,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 284 + src/physics/p2/World.js line 284 @@ -11842,7 +11842,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1165 + src/physics/p2/World.js line 1165 @@ -12000,7 +12000,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1201 + src/physics/p2/World.js line 1201 @@ -12158,7 +12158,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 977 + src/physics/p2/World.js line 977 @@ -12267,7 +12267,7 @@

Source:
- src/physics/p2/World.js line 795 + src/physics/p2/World.js line 795 @@ -12351,7 +12351,7 @@

Source:
- src/physics/p2/World.js line 758 + src/physics/p2/World.js line 758 @@ -12814,7 +12814,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 659 + src/physics/p2/World.js line 659 @@ -12949,7 +12949,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 397 + src/physics/p2/World.js line 397 @@ -13107,7 +13107,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 1234 + src/physics/p2/World.js line 1234 @@ -13268,7 +13268,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 418 + src/physics/p2/World.js line 418 @@ -13352,7 +13352,7 @@

Source:
- src/physics/p2/World.js line 1440 + src/physics/p2/World.js line 1440 @@ -13460,7 +13460,7 @@

Source:
- src/physics/p2/World.js line 770 + src/physics/p2/World.js line 770 @@ -13616,7 +13616,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 620 + src/physics/p2/World.js line 620 @@ -13659,9 +13659,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -13676,9 +13676,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -13707,7 +13707,7 @@
Parameters:
- + diff --git a/docs/Phaser.Physics.html b/docs/Phaser.Physics.html index 6d6d3d346..b5b7bc78a 100644 --- a/docs/Phaser.Physics.html +++ b/docs/Phaser.Physics.html @@ -6,7 +6,7 @@ Phaser CE Class: Physics - + @@ -290,7 +290,7 @@
Parameters:
Source:
- src/physics/Physics.js line 21 + src/physics/Physics.js line 21 @@ -404,7 +404,7 @@
Type:
Source:
- src/physics/Physics.js line 74 + src/physics/Physics.js line 74 @@ -477,7 +477,7 @@
Type:
Source:
- src/physics/Physics.js line 92 + src/physics/Physics.js line 92 @@ -550,7 +550,7 @@
Type:
Source:
- src/physics/Physics.js line 98 + src/physics/Physics.js line 98 @@ -623,7 +623,7 @@
Type:
Source:
- src/physics/Physics.js line 104 + src/physics/Physics.js line 104 @@ -696,7 +696,7 @@
Type:
Source:
- src/physics/Physics.js line 86 + src/physics/Physics.js line 86 @@ -769,7 +769,7 @@
Type:
Source:
- src/physics/Physics.js line 80 + src/physics/Physics.js line 80 @@ -846,7 +846,7 @@
Type:
Source:
- src/physics/Physics.js line 39 + src/physics/Physics.js line 39 @@ -923,7 +923,7 @@
Type:
Source:
- src/physics/Physics.js line 54 + src/physics/Physics.js line 54 @@ -1000,7 +1000,7 @@
Type:
Source:
- src/physics/Physics.js line 59 + src/physics/Physics.js line 59 @@ -1077,7 +1077,7 @@
Type:
Source:
- src/physics/Physics.js line 34 + src/physics/Physics.js line 34 @@ -1154,7 +1154,7 @@
Type:
Source:
- src/physics/Physics.js line 29 + src/physics/Physics.js line 29 @@ -1231,7 +1231,7 @@
Type:
Source:
- src/physics/Physics.js line 64 + src/physics/Physics.js line 64 @@ -1308,7 +1308,7 @@
Type:
Source:
- src/physics/Physics.js line 49 + src/physics/Physics.js line 49 @@ -1385,7 +1385,7 @@
Type:
Source:
- src/physics/Physics.js line 44 + src/physics/Physics.js line 44 @@ -1463,7 +1463,7 @@

Source:
- src/physics/Physics.js line 356 + src/physics/Physics.js line 356 @@ -1547,7 +1547,7 @@

Source:
- src/physics/Physics.js line 408 + src/physics/Physics.js line 408 @@ -1790,7 +1790,7 @@
Parameters:
Source:
- src/physics/Physics.js line 211 + src/physics/Physics.js line 211 @@ -1874,7 +1874,7 @@

Source:
- src/physics/Physics.js line 108 + src/physics/Physics.js line 108 @@ -1958,7 +1958,7 @@

Source:
- src/physics/Physics.js line 264 + src/physics/Physics.js line 264 @@ -2042,7 +2042,7 @@

Source:
- src/physics/Physics.js line 382 + src/physics/Physics.js line 382 @@ -2357,7 +2357,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 562 + src/physics/p2/World.js line 562 @@ -2441,7 +2441,7 @@

Source:
- src/physics/Physics.js line 320 + src/physics/Physics.js line 320 @@ -2751,7 +2751,7 @@
Parameters:
Source:
- src/physics/p2/World.js line 580 + src/physics/p2/World.js line 580 @@ -2895,7 +2895,7 @@
Parameters:
Source:
- src/physics/Physics.js line 144 + src/physics/Physics.js line 144 @@ -2979,7 +2979,7 @@

Source:
- src/physics/Physics.js line 292 + src/physics/Physics.js line 292 @@ -3022,9 +3022,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3039,9 +3039,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3070,7 +3070,7 @@

- + diff --git a/docs/Phaser.Plugin.PathManager.html b/docs/Phaser.Plugin.PathManager.html index 90a019a6b..f70fe8dd8 100644 --- a/docs/Phaser.Plugin.PathManager.html +++ b/docs/Phaser.Plugin.PathManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PathManager - + @@ -255,7 +255,7 @@

Parameters:
Source:
- src/plugins/path/PathManagerPlugin.js line 17 + src/plugins/path/PathManagerPlugin.js line 17 @@ -360,7 +360,7 @@

Source:
- src/plugins/path/PathManagerPlugin.js line 48 + src/plugins/path/PathManagerPlugin.js line 48 @@ -403,9 +403,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -420,9 +420,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -451,7 +451,7 @@

- + diff --git a/docs/Phaser.Plugin.html b/docs/Phaser.Plugin.html index d53f3dd92..efc43e250 100644 --- a/docs/Phaser.Plugin.html +++ b/docs/Phaser.Plugin.html @@ -6,7 +6,7 @@ Phaser CE Class: Plugin - + @@ -136,7 +136,8 @@

This is a base Plugin template to use for any Phaser plugin development.

-
Callbacks
+
Callbacks
+
@@ -152,32 +153,13 @@
Callbacks
add
- - - - - - - - - - - - - - - - - - - - - - - -
preUpdate*
update*render*
postUpdate*postRender*
destroy
+
 | preUpdate*  |             |
+ | update*     | render*     |
+ | postUpdate* | postRender* |
+ |             |             | destroy
+

Update and render calls are repeated (*).

@@ -297,7 +279,7 @@

Parameters:
Source:
- src/core/Plugin.js line 27 + src/core/Plugin.js line 27 @@ -409,7 +391,7 @@
Type:
Source:
- src/core/Plugin.js line 46 + src/core/Plugin.js line 46 @@ -486,7 +468,7 @@
Type:
Source:
- src/core/Plugin.js line 35 + src/core/Plugin.js line 35 @@ -563,7 +545,7 @@
Type:
Source:
- src/core/Plugin.js line 82 + src/core/Plugin.js line 82 @@ -640,7 +622,7 @@
Type:
Source:
- src/core/Plugin.js line 70 + src/core/Plugin.js line 70 @@ -717,7 +699,7 @@
Type:
Source:
- src/core/Plugin.js line 58 + src/core/Plugin.js line 58 @@ -794,7 +776,7 @@
Type:
Source:
- src/core/Plugin.js line 76 + src/core/Plugin.js line 76 @@ -871,7 +853,7 @@
Type:
Source:
- src/core/Plugin.js line 64 + src/core/Plugin.js line 64 @@ -948,7 +930,7 @@
Type:
Source:
- src/core/Plugin.js line 40 + src/core/Plugin.js line 40 @@ -1025,7 +1007,7 @@
Type:
Source:
- src/core/Plugin.js line 52 + src/core/Plugin.js line 52 @@ -1103,7 +1085,7 @@

Source:
- src/core/Plugin.js line 124 + src/core/Plugin.js line 124 @@ -1188,7 +1170,7 @@

Source:
- src/core/Plugin.js line 115 + src/core/Plugin.js line 115 @@ -1273,7 +1255,7 @@

Source:
- src/core/Plugin.js line 88 + src/core/Plugin.js line 88 @@ -1358,7 +1340,7 @@

Source:
- src/core/Plugin.js line 106 + src/core/Plugin.js line 106 @@ -1443,7 +1425,7 @@

Source:
- src/core/Plugin.js line 97 + src/core/Plugin.js line 97 @@ -1486,9 +1468,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1503,9 +1485,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1534,7 +1516,7 @@

- + diff --git a/docs/Phaser.PluginManager.html b/docs/Phaser.PluginManager.html index e72ae0c4e..a9dea9d6a 100644 --- a/docs/Phaser.PluginManager.html +++ b/docs/Phaser.PluginManager.html @@ -6,7 +6,7 @@ Phaser CE Class: PluginManager - + @@ -230,7 +230,7 @@

Parameters:
Source:
- src/core/PluginManager.js line 16 + src/core/PluginManager.js line 16 @@ -335,7 +335,7 @@
Type:
Source:
- src/core/PluginManager.js line 22 + src/core/PluginManager.js line 22 @@ -412,7 +412,7 @@
Type:
Source:
- src/core/PluginManager.js line 27 + src/core/PluginManager.js line 27 @@ -588,7 +588,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 45 + src/core/PluginManager.js line 45 @@ -696,7 +696,7 @@

Source:
- src/core/PluginManager.js line 288 + src/core/PluginManager.js line 288 @@ -781,7 +781,7 @@

Source:
- src/core/PluginManager.js line 267 + src/core/PluginManager.js line 267 @@ -867,7 +867,7 @@

Source:
- src/core/PluginManager.js line 224 + src/core/PluginManager.js line 224 @@ -952,7 +952,7 @@

Source:
- src/core/PluginManager.js line 182 + src/core/PluginManager.js line 182 @@ -1142,7 +1142,7 @@
Parameters:
Source:
- src/core/PluginManager.js line 131 + src/core/PluginManager.js line 131 @@ -1226,7 +1226,7 @@

Source:
- src/core/PluginManager.js line 162 + src/core/PluginManager.js line 162 @@ -1311,7 +1311,7 @@

Source:
- src/core/PluginManager.js line 246 + src/core/PluginManager.js line 246 @@ -1396,7 +1396,7 @@

Source:
- src/core/PluginManager.js line 203 + src/core/PluginManager.js line 203 @@ -1439,9 +1439,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1456,9 +1456,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1487,7 +1487,7 @@

- + diff --git a/docs/Phaser.Point.html b/docs/Phaser.Point.html index a846c43ff..d7c93bd78 100644 --- a/docs/Phaser.Point.html +++ b/docs/Phaser.Point.html @@ -6,7 +6,7 @@ Phaser CE Class: Point - + @@ -293,7 +293,7 @@

Parameters:
Source:
- src/geom/Point.js line 18 + src/geom/Point.js line 18 @@ -398,7 +398,7 @@
Type:
Source:
- src/geom/Point.js line 38 + src/geom/Point.js line 38 @@ -475,7 +475,7 @@
Type:
Source:
- src/geom/Point.js line 27 + src/geom/Point.js line 27 @@ -552,7 +552,7 @@
Type:
Source:
- src/geom/Point.js line 32 + src/geom/Point.js line 32 @@ -756,7 +756,7 @@
Parameters:
Source:
- src/geom/Point.js line 684 + src/geom/Point.js line 684 @@ -938,7 +938,7 @@
Parameters:
Source:
- src/geom/Point.js line 806 + src/geom/Point.js line 806 @@ -1140,7 +1140,7 @@
Parameters:
Source:
- src/geom/Point.js line 1064 + src/geom/Point.js line 1064 @@ -1390,7 +1390,7 @@
Parameters:
Source:
- src/geom/Point.js line 910 + src/geom/Point.js line 910 @@ -1624,7 +1624,7 @@
Parameters:
Source:
- src/geom/Point.js line 747 + src/geom/Point.js line 747 @@ -1806,7 +1806,7 @@
Parameters:
Source:
- src/geom/Point.js line 768 + src/geom/Point.js line 768 @@ -2072,7 +2072,7 @@
Parameters:
Source:
- src/geom/Point.js line 857 + src/geom/Point.js line 857 @@ -2230,7 +2230,7 @@
Parameters:
Source:
- src/geom/Point.js line 1155 + src/geom/Point.js line 1155 @@ -2466,7 +2466,7 @@
Parameters:
Source:
- src/geom/Point.js line 726 + src/geom/Point.js line 726 @@ -2732,7 +2732,7 @@
Parameters:
Source:
- src/geom/Point.js line 838 + src/geom/Point.js line 838 @@ -2934,7 +2934,7 @@
Parameters:
Source:
- src/geom/Point.js line 821 + src/geom/Point.js line 821 @@ -3136,7 +3136,7 @@
Parameters:
Source:
- src/geom/Point.js line 994 + src/geom/Point.js line 994 @@ -3338,7 +3338,7 @@
Parameters:
Source:
- src/geom/Point.js line 977 + src/geom/Point.js line 977 @@ -3593,7 +3593,7 @@
Parameters:
Source:
- src/geom/Point.js line 1106 + src/geom/Point.js line 1106 @@ -3795,7 +3795,7 @@
Parameters:
Source:
- src/geom/Point.js line 876 + src/geom/Point.js line 876 @@ -4029,7 +4029,7 @@
Parameters:
Source:
- src/geom/Point.js line 927 + src/geom/Point.js line 927 @@ -4263,7 +4263,7 @@
Parameters:
Source:
- src/geom/Point.js line 952 + src/geom/Point.js line 952 @@ -4627,7 +4627,7 @@
Parameters:
Source:
- src/geom/Point.js line 1018 + src/geom/Point.js line 1018 @@ -4829,7 +4829,7 @@
Parameters:
Source:
- src/geom/Point.js line 893 + src/geom/Point.js line 893 @@ -5063,7 +5063,7 @@
Parameters:
Source:
- src/geom/Point.js line 705 + src/geom/Point.js line 705 @@ -5221,7 +5221,7 @@
Parameters:
Source:
- src/geom/Point.js line 1139 + src/geom/Point.js line 1139 @@ -5403,7 +5403,7 @@
Parameters:
Source:
- src/geom/Point.js line 128 + src/geom/Point.js line 128 @@ -5620,7 +5620,7 @@
Parameters:
Source:
- src/geom/Point.js line 367 + src/geom/Point.js line 367 @@ -5870,7 +5870,7 @@
Parameters:
Source:
- src/geom/Point.js line 382 + src/geom/Point.js line 382 @@ -6048,7 +6048,7 @@
Parameters:
Source:
- src/geom/Point.js line 407 + src/geom/Point.js line 407 @@ -6156,7 +6156,7 @@

Source:
- src/geom/Point.js line 641 + src/geom/Point.js line 641 @@ -6338,7 +6338,7 @@
Parameters:
Source:
- src/geom/Point.js line 228 + src/geom/Point.js line 228 @@ -6520,7 +6520,7 @@
Parameters:
Source:
- src/geom/Point.js line 196 + src/geom/Point.js line 196 @@ -6702,7 +6702,7 @@
Parameters:
Source:
- src/geom/Point.js line 212 + src/geom/Point.js line 212 @@ -6860,7 +6860,7 @@
Parameters:
Source:
- src/geom/Point.js line 245 + src/geom/Point.js line 245 @@ -7030,7 +7030,7 @@
Parameters:
Source:
- src/geom/Point.js line 269 + src/geom/Point.js line 269 @@ -7188,7 +7188,7 @@
Parameters:
Source:
- src/geom/Point.js line 44 + src/geom/Point.js line 44 @@ -7346,7 +7346,7 @@
Parameters:
Source:
- src/geom/Point.js line 292 + src/geom/Point.js line 292 @@ -7504,7 +7504,7 @@
Parameters:
Source:
- src/geom/Point.js line 575 + src/geom/Point.js line 575 @@ -7706,7 +7706,7 @@
Parameters:
Source:
- src/geom/Point.js line 309 + src/geom/Point.js line 309 @@ -7888,7 +7888,7 @@
Parameters:
Source:
- src/geom/Point.js line 179 + src/geom/Point.js line 179 @@ -8046,7 +8046,7 @@
Parameters:
Source:
- src/geom/Point.js line 561 + src/geom/Point.js line 561 @@ -8207,7 +8207,7 @@
Parameters:
Source:
- src/geom/Point.js line 324 + src/geom/Point.js line 324 @@ -8389,7 +8389,7 @@
Parameters:
Source:
- src/geom/Point.js line 338 + src/geom/Point.js line 338 @@ -8547,7 +8547,7 @@
Parameters:
Source:
- src/geom/Point.js line 528 + src/geom/Point.js line 528 @@ -8662,7 +8662,7 @@

Source:
- src/geom/Point.js line 628 + src/geom/Point.js line 628 @@ -8770,7 +8770,7 @@

Source:
- src/geom/Point.js line 448 + src/geom/Point.js line 448 @@ -8878,7 +8878,7 @@

Source:
- src/geom/Point.js line 461 + src/geom/Point.js line 461 @@ -8986,7 +8986,7 @@

Source:
- src/geom/Point.js line 58 + src/geom/Point.js line 58 @@ -9094,7 +9094,7 @@

Source:
- src/geom/Point.js line 548 + src/geom/Point.js line 548 @@ -9252,7 +9252,7 @@
Parameters:
Source:
- src/geom/Point.js line 508 + src/geom/Point.js line 508 @@ -9441,7 +9441,7 @@
Parameters:
Source:
- src/geom/Point.js line 162 + src/geom/Point.js line 162 @@ -9549,7 +9549,7 @@

Source:
- src/geom/Point.js line 488 + src/geom/Point.js line 488 @@ -9657,7 +9657,7 @@

Source:
- src/geom/Point.js line 615 + src/geom/Point.js line 615 @@ -9765,7 +9765,7 @@

Source:
- src/geom/Point.js line 589 + src/geom/Point.js line 589 @@ -10089,7 +10089,7 @@
Parameters:
Source:
- src/geom/Point.js line 430 + src/geom/Point.js line 430 @@ -10197,7 +10197,7 @@

Source:
- src/geom/Point.js line 654 + src/geom/Point.js line 654 @@ -10305,7 +10305,7 @@

Source:
- src/geom/Point.js line 602 + src/geom/Point.js line 602 @@ -10539,7 +10539,7 @@
Parameters:
Source:
- src/geom/Point.js line 1170 + src/geom/Point.js line 1170 @@ -10744,7 +10744,7 @@
Parameters:
Source:
- src/geom/Point.js line 90 + src/geom/Point.js line 90 @@ -10902,7 +10902,7 @@
Parameters:
Source:
- src/geom/Point.js line 474 + src/geom/Point.js line 474 @@ -11107,7 +11107,7 @@
Parameters:
Source:
- src/geom/Point.js line 71 + src/geom/Point.js line 71 @@ -11361,7 +11361,7 @@
Parameters:
Source:
- src/geom/Point.js line 109 + src/geom/Point.js line 109 @@ -11569,7 +11569,7 @@
Parameters:
Source:
- src/geom/Point.js line 1190 + src/geom/Point.js line 1190 @@ -11751,7 +11751,7 @@
Parameters:
Source:
- src/geom/Point.js line 145 + src/geom/Point.js line 145 @@ -11859,7 +11859,7 @@

Source:
- src/geom/Point.js line 667 + src/geom/Point.js line 667 @@ -11926,9 +11926,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -11943,9 +11943,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -11974,7 +11974,7 @@
Returns:
- + diff --git a/docs/Phaser.Pointer.html b/docs/Phaser.Pointer.html index a26fb7fad..872ed17ff 100644 --- a/docs/Phaser.Pointer.html +++ b/docs/Phaser.Pointer.html @@ -6,7 +6,7 @@ Phaser CE Class: Pointer - + @@ -294,7 +294,7 @@
Parameters:
Source:
- src/input/Pointer.js line 16 + src/input/Pointer.js line 16 @@ -400,7 +400,7 @@
Type:
Source:
- src/input/Pointer.js line 400 + src/input/Pointer.js line 400 @@ -477,7 +477,7 @@
Type:
Source:
- src/input/Pointer.js line 415 + src/input/Pointer.js line 415 @@ -555,7 +555,7 @@
Type:
Source:
- src/input/Pointer.js line 408 + src/input/Pointer.js line 408 @@ -632,7 +632,7 @@
Type:
Source:
- src/input/Pointer.js line 378 + src/input/Pointer.js line 378 @@ -709,7 +709,7 @@
Type:
Source:
- src/input/Pointer.js line 392 + src/input/Pointer.js line 392 @@ -786,7 +786,7 @@
Type:
Source:
- src/input/Pointer.js line 371 + src/input/Pointer.js line 371 @@ -863,7 +863,7 @@
Type:
Source:
- src/input/Pointer.js line 385 + src/input/Pointer.js line 385 @@ -940,7 +940,7 @@
Type:
Source:
- src/input/Pointer.js line 319 + src/input/Pointer.js line 319 @@ -1020,7 +1020,7 @@
Type:
Source:
- src/input/Pointer.js line 121 + src/input/Pointer.js line 121 @@ -1099,7 +1099,7 @@
Type:
Source:
- src/input/Pointer.js line 71 + src/input/Pointer.js line 71 @@ -1177,7 +1177,7 @@
Type:
Source:
- src/input/Pointer.js line 347 + src/input/Pointer.js line 347 @@ -1254,7 +1254,7 @@
Type:
Source:
- src/input/Pointer.js line 182 + src/input/Pointer.js line 182 @@ -1331,7 +1331,7 @@
Type:
Source:
- src/input/Pointer.js line 187 + src/input/Pointer.js line 187 @@ -1408,7 +1408,7 @@
Type:
Source:
- src/input/Pointer.js line 325 + src/input/Pointer.js line 325 @@ -1487,7 +1487,7 @@
Type:
Source:
- src/input/Pointer.js line 1217 + src/input/Pointer.js line 1217 @@ -1567,7 +1567,7 @@
Type:
Source:
- src/input/Pointer.js line 147 + src/input/Pointer.js line 147 @@ -1651,7 +1651,7 @@
Type:
Source:
- src/input/Pointer.js line 39 + src/input/Pointer.js line 39 @@ -1731,7 +1731,7 @@
Type:
Source:
- src/input/Pointer.js line 134 + src/input/Pointer.js line 134 @@ -1808,7 +1808,7 @@
Type:
Source:
- src/input/Pointer.js line 22 + src/input/Pointer.js line 22 @@ -1885,7 +1885,7 @@
Type:
Source:
- src/input/Pointer.js line 27 + src/input/Pointer.js line 27 @@ -1962,7 +1962,7 @@
Type:
Source:
- src/input/Pointer.js line 45 + src/input/Pointer.js line 45 @@ -2050,7 +2050,7 @@
Type:
Source:
- src/input/Pointer.js line 313 + src/input/Pointer.js line 313 @@ -2128,7 +2128,7 @@
Type:
Source:
- src/input/Pointer.js line 258 + src/input/Pointer.js line 258 @@ -2205,7 +2205,7 @@
Type:
Source:
- src/input/Pointer.js line 250 + src/input/Pointer.js line 250 @@ -2290,7 +2290,7 @@
Type:
Source:
- src/input/Pointer.js line 266 + src/input/Pointer.js line 266 @@ -2369,7 +2369,7 @@
Type:
Source:
- src/input/Pointer.js line 82 + src/input/Pointer.js line 82 @@ -2449,7 +2449,7 @@
Type:
Source:
- src/input/Pointer.js line 95 + src/input/Pointer.js line 95 @@ -2526,7 +2526,7 @@
Type:
Source:
- src/input/Pointer.js line 227 + src/input/Pointer.js line 227 @@ -2603,7 +2603,7 @@
Type:
Source:
- src/input/Pointer.js line 233 + src/input/Pointer.js line 233 @@ -2680,7 +2680,7 @@
Type:
Source:
- src/input/Pointer.js line 296 + src/input/Pointer.js line 296 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/input/Pointer.js line 192 + src/input/Pointer.js line 192 @@ -2834,7 +2834,7 @@
Type:
Source:
- src/input/Pointer.js line 197 + src/input/Pointer.js line 197 @@ -2911,7 +2911,7 @@
Type:
Source:
- src/input/Pointer.js line 51 + src/input/Pointer.js line 51 @@ -2988,7 +2988,7 @@
Type:
Source:
- src/input/Pointer.js line 56 + src/input/Pointer.js line 56 @@ -3065,7 +3065,7 @@
Type:
Source:
- src/input/Pointer.js line 330 + src/input/Pointer.js line 330 @@ -3142,7 +3142,7 @@
Type:
Source:
- src/input/Pointer.js line 335 + src/input/Pointer.js line 335 @@ -3219,7 +3219,7 @@
Type:
Source:
- src/input/Pointer.js line 340 + src/input/Pointer.js line 340 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/input/Pointer.js line 284 + src/input/Pointer.js line 284 @@ -3373,7 +3373,7 @@
Type:
Source:
- src/input/Pointer.js line 214 + src/input/Pointer.js line 214 @@ -3457,7 +3457,7 @@
Type:
Source:
- src/input/Pointer.js line 221 + src/input/Pointer.js line 221 @@ -3544,7 +3544,7 @@
Type:
Source:
- src/input/Pointer.js line 108 + src/input/Pointer.js line 108 @@ -3621,7 +3621,7 @@
Type:
Source:
- src/input/Pointer.js line 202 + src/input/Pointer.js line 202 @@ -3698,7 +3698,7 @@
Type:
Source:
- src/input/Pointer.js line 207 + src/input/Pointer.js line 207 @@ -3775,7 +3775,7 @@
Type:
Source:
- src/input/Pointer.js line 62 + src/input/Pointer.js line 62 @@ -3852,7 +3852,7 @@
Type:
Source:
- src/input/Pointer.js line 302 + src/input/Pointer.js line 302 @@ -3929,7 +3929,7 @@
Type:
Source:
- src/input/Pointer.js line 272 + src/input/Pointer.js line 272 @@ -4006,7 +4006,7 @@
Type:
Source:
- src/input/Pointer.js line 278 + src/input/Pointer.js line 278 @@ -4083,7 +4083,7 @@
Type:
Source:
- src/input/Pointer.js line 290 + src/input/Pointer.js line 290 @@ -4160,7 +4160,7 @@
Type:
Source:
- src/input/Pointer.js line 33 + src/input/Pointer.js line 33 @@ -4237,7 +4237,7 @@
Type:
Source:
- src/input/Pointer.js line 177 + src/input/Pointer.js line 177 @@ -4314,7 +4314,7 @@
Type:
Source:
- src/input/Pointer.js line 1242 + src/input/Pointer.js line 1242 @@ -4391,7 +4391,7 @@
Type:
Source:
- src/input/Pointer.js line 1259 + src/input/Pointer.js line 1259 @@ -4468,7 +4468,7 @@
Type:
Source:
- src/input/Pointer.js line 239 + src/input/Pointer.js line 239 @@ -4545,7 +4545,7 @@
Type:
Source:
- src/input/Pointer.js line 245 + src/input/Pointer.js line 245 @@ -4581,7 +4581,7 @@

Add a click trampoline to this pointer.

A click trampoline is a callback that is run on the DOM 'click' event; this is primarily needed with certain browsers (ie. IE11) which restrict some actions like requestFullscreen -to the DOM 'click' event and rejects it for 'pointer' and 'mouse' events.

+to the DOM 'click' event and rejects it for 'pointer*' and 'mouse*' events.

This is used internally by the ScaleManager; click trampoline usage is uncommon. Click trampolines can only be added to pointers that are currently down.

@@ -4753,7 +4753,7 @@

Parameters:
Source:
- src/input/Pointer.js line 1094 + src/input/Pointer.js line 1094 @@ -4901,7 +4901,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1060 + src/input/Pointer.js line 1060 @@ -5073,7 +5073,7 @@
Parameters:
Source:
- src/input/Pointer.js line 1077 + src/input/Pointer.js line 1077 @@ -5237,7 +5237,7 @@
Parameters:
Source:
- src/input/Pointer.js line 969 + src/input/Pointer.js line 969 @@ -5433,7 +5433,7 @@
Parameters:
Source:
- src/input/Pointer.js line 738 + src/input/Pointer.js line 738 @@ -5587,7 +5587,7 @@
Parameters:
Source:
- src/input/Pointer.js line 830 + src/input/Pointer.js line 830 @@ -5695,7 +5695,7 @@

Source:
- src/input/Pointer.js line 1170 + src/input/Pointer.js line 1170 @@ -5779,7 +5779,7 @@

Source:
- src/input/Pointer.js line 419 + src/input/Pointer.js line 419 @@ -5863,7 +5863,7 @@

Source:
- src/input/Pointer.js line 1201 + src/input/Pointer.js line 1201 @@ -5997,7 +5997,7 @@
Parameters:
Source:
- src/input/Pointer.js line 614 + src/input/Pointer.js line 614 @@ -6137,7 +6137,7 @@
Parameters:
Source:
- src/input/Pointer.js line 983 + src/input/Pointer.js line 983 @@ -6330,7 +6330,7 @@
Parameters:
Source:
- src/input/Pointer.js line 911 + src/input/Pointer.js line 911 @@ -6414,7 +6414,7 @@

Source:
- src/input/Pointer.js line 685 + src/input/Pointer.js line 685 @@ -6549,7 +6549,7 @@
Parameters:
Source:
- src/input/Pointer.js line 589 + src/input/Pointer.js line 589 @@ -6592,9 +6592,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -6609,9 +6609,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -6640,7 +6640,7 @@
Parameters:
- + diff --git a/docs/Phaser.PointerLock.html b/docs/Phaser.PointerLock.html index ebc55260b..6f0844417 100644 --- a/docs/Phaser.PointerLock.html +++ b/docs/Phaser.PointerLock.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerLock - + @@ -230,7 +230,7 @@
Parameters:
Source:
- src/input/PointerLock.js line 7 + src/input/PointerLock.js line 7 @@ -335,7 +335,7 @@
Type:
Source:
- src/input/PointerLock.js line 32 + src/input/PointerLock.js line 32 @@ -412,7 +412,7 @@
Type:
Source:
- src/input/PointerLock.js line 25 + src/input/PointerLock.js line 25 @@ -489,7 +489,7 @@
Type:
Source:
- src/input/PointerLock.js line 13 + src/input/PointerLock.js line 13 @@ -566,7 +566,7 @@
Type:
Source:
- src/input/PointerLock.js line 19 + src/input/PointerLock.js line 19 @@ -643,7 +643,7 @@
Type:
Source:
- src/input/PointerLock.js line 38 + src/input/PointerLock.js line 38 @@ -721,7 +721,7 @@
Type:
Source:
- src/input/PointerLock.js line 45 + src/input/PointerLock.js line 45 @@ -799,7 +799,7 @@
Type:
Source:
- src/input/PointerLock.js line 52 + src/input/PointerLock.js line 52 @@ -878,7 +878,7 @@

Source:
- src/input/PointerLock.js line 152 + src/input/PointerLock.js line 152 @@ -963,7 +963,7 @@

Source:
- src/input/PointerLock.js line 137 + src/input/PointerLock.js line 137 @@ -1047,7 +1047,7 @@

Source:
- src/input/PointerLock.js line 92 + src/input/PointerLock.js line 92 @@ -1157,7 +1157,7 @@

Source:
- src/input/PointerLock.js line 122 + src/input/PointerLock.js line 122 @@ -1200,9 +1200,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1217,9 +1217,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1248,7 +1248,7 @@

- + diff --git a/docs/Phaser.PointerMode.html b/docs/Phaser.PointerMode.html index f52e66f36..85de72a8a 100644 --- a/docs/Phaser.PointerMode.html +++ b/docs/Phaser.PointerMode.html @@ -6,7 +6,7 @@ Phaser CE Class: PointerMode - + @@ -184,7 +184,7 @@

Source:
- src/input/Pointer.js line 1286 + src/input/Pointer.js line 1286 @@ -278,7 +278,7 @@

Source:
- src/input/Pointer.js line 1301 + src/input/Pointer.js line 1301 @@ -346,7 +346,7 @@

Source:
- src/input/Pointer.js line 1295 + src/input/Pointer.js line 1295 @@ -379,9 +379,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -396,9 +396,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -427,7 +427,7 @@

- + diff --git a/docs/Phaser.Polygon.html b/docs/Phaser.Polygon.html index 0786d24cf..b2a780301 100644 --- a/docs/Phaser.Polygon.html +++ b/docs/Phaser.Polygon.html @@ -6,7 +6,7 @@ Phaser CE Class: Polygon - + @@ -248,7 +248,7 @@

Parameters:
Source:
- src/geom/Polygon.js line 24 + src/geom/Polygon.js line 24 @@ -353,7 +353,7 @@
Type:
Source:
- src/geom/Polygon.js line 30 + src/geom/Polygon.js line 30 @@ -430,7 +430,7 @@
Type:
Source:
- src/geom/Polygon.js line 46 + src/geom/Polygon.js line 46 @@ -507,7 +507,7 @@
Type:
Source:
- src/geom/Polygon.js line 51 + src/geom/Polygon.js line 51 @@ -585,7 +585,7 @@
Type:
Source:
- src/geom/Polygon.js line 301 + src/geom/Polygon.js line 301 @@ -662,7 +662,7 @@
Type:
Source:
- src/geom/Polygon.js line 56 + src/geom/Polygon.js line 56 @@ -811,7 +811,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 112 + src/geom/Polygon.js line 112 @@ -993,7 +993,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 138 + src/geom/Polygon.js line 138 @@ -1103,7 +1103,7 @@

Source:
- src/geom/Polygon.js line 93 + src/geom/Polygon.js line 93 @@ -1281,7 +1281,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 191 + src/geom/Polygon.js line 191 @@ -1451,7 +1451,7 @@
Parameters:
Source:
- src/geom/Polygon.js line 62 + src/geom/Polygon.js line 62 @@ -1518,9 +1518,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1535,9 +1535,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1566,7 +1566,7 @@
Returns:
- + diff --git a/docs/Phaser.QuadTree.html b/docs/Phaser.QuadTree.html index 2efd1e757..29d42e1c1 100644 --- a/docs/Phaser.QuadTree.html +++ b/docs/Phaser.QuadTree.html @@ -6,7 +6,7 @@ Phaser CE Class: QuadTree - + @@ -476,7 +476,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 23 + src/math/QuadTree.js line 23 @@ -581,7 +581,7 @@
Type:
Source:
- src/math/QuadTree.js line 46 + src/math/QuadTree.js line 46 @@ -658,7 +658,7 @@
Type:
Source:
- src/math/QuadTree.js line 41 + src/math/QuadTree.js line 41 @@ -742,7 +742,7 @@
Type:
Source:
- src/math/QuadTree.js line 36 + src/math/QuadTree.js line 36 @@ -826,7 +826,7 @@
Type:
Source:
- src/math/QuadTree.js line 30 + src/math/QuadTree.js line 30 @@ -903,7 +903,7 @@
Type:
Source:
- src/math/QuadTree.js line 56 + src/math/QuadTree.js line 56 @@ -980,7 +980,7 @@
Type:
Source:
- src/math/QuadTree.js line 51 + src/math/QuadTree.js line 51 @@ -1058,7 +1058,7 @@

Source:
- src/math/QuadTree.js line 303 + src/math/QuadTree.js line 303 @@ -1195,7 +1195,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 209 + src/math/QuadTree.js line 209 @@ -1356,7 +1356,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 156 + src/math/QuadTree.js line 156 @@ -1490,7 +1490,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 105 + src/math/QuadTree.js line 105 @@ -1627,7 +1627,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 118 + src/math/QuadTree.js line 118 @@ -2005,7 +2005,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 70 + src/math/QuadTree.js line 70 @@ -2142,7 +2142,7 @@
Parameters:
Source:
- src/math/QuadTree.js line 254 + src/math/QuadTree.js line 254 @@ -2252,7 +2252,7 @@

Source:
- src/math/QuadTree.js line 134 + src/math/QuadTree.js line 134 @@ -2295,9 +2295,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2312,9 +2312,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2343,7 +2343,7 @@

- + diff --git a/docs/Phaser.RandomDataGenerator.html b/docs/Phaser.RandomDataGenerator.html index ed9c86c33..20d218854 100644 --- a/docs/Phaser.RandomDataGenerator.html +++ b/docs/Phaser.RandomDataGenerator.html @@ -6,7 +6,7 @@ Phaser CE Class: RandomDataGenerator - + @@ -252,7 +252,7 @@

Parameters:
Source:
- src/math/RandomDataGenerator.js line 23 + src/math/RandomDataGenerator.js line 23 @@ -354,7 +354,7 @@

Source:
- src/math/RandomDataGenerator.js line 326 + src/math/RandomDataGenerator.js line 326 @@ -537,7 +537,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 207 + src/math/RandomDataGenerator.js line 207 @@ -645,7 +645,7 @@

Source:
- src/math/RandomDataGenerator.js line 166 + src/math/RandomDataGenerator.js line 166 @@ -753,7 +753,7 @@

Source:
- src/math/RandomDataGenerator.js line 153 + src/math/RandomDataGenerator.js line 153 @@ -935,7 +935,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 192 + src/math/RandomDataGenerator.js line 192 @@ -1043,7 +1043,7 @@

Source:
- src/math/RandomDataGenerator.js line 238 + src/math/RandomDataGenerator.js line 238 @@ -1201,7 +1201,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 270 + src/math/RandomDataGenerator.js line 270 @@ -1309,7 +1309,7 @@

Source:
- src/math/RandomDataGenerator.js line 179 + src/math/RandomDataGenerator.js line 179 @@ -1491,7 +1491,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 223 + src/math/RandomDataGenerator.js line 223 @@ -1599,7 +1599,7 @@

Source:
- src/math/RandomDataGenerator.js line 284 + src/math/RandomDataGenerator.js line 284 @@ -1758,7 +1758,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 85 + src/math/RandomDataGenerator.js line 85 @@ -1911,7 +1911,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 339 + src/math/RandomDataGenerator.js line 339 @@ -2093,7 +2093,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 311 + src/math/RandomDataGenerator.js line 311 @@ -2201,7 +2201,7 @@

Source:
- src/math/RandomDataGenerator.js line 251 + src/math/RandomDataGenerator.js line 251 @@ -2359,7 +2359,7 @@
Parameters:
Source:
- src/math/RandomDataGenerator.js line 297 + src/math/RandomDataGenerator.js line 297 @@ -2426,9 +2426,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -2443,9 +2443,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -2474,7 +2474,7 @@
Returns:
- + diff --git a/docs/Phaser.Rectangle.html b/docs/Phaser.Rectangle.html index 7f5c2ce06..9996ff18e 100644 --- a/docs/Phaser.Rectangle.html +++ b/docs/Phaser.Rectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: Rectangle - + @@ -303,7 +303,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 18 + src/geom/Rectangle.js line 18 @@ -408,7 +408,7 @@
Type:
Source:
- src/geom/Rectangle.js line 559 + src/geom/Rectangle.js line 559 @@ -485,7 +485,7 @@
Type:
Source:
- src/geom/Rectangle.js line 587 + src/geom/Rectangle.js line 587 @@ -562,7 +562,7 @@
Type:
Source:
- src/geom/Rectangle.js line 607 + src/geom/Rectangle.js line 607 @@ -639,7 +639,7 @@
Type:
Source:
- src/geom/Rectangle.js line 710 + src/geom/Rectangle.js line 710 @@ -716,7 +716,7 @@
Type:
Source:
- src/geom/Rectangle.js line 729 + src/geom/Rectangle.js line 729 @@ -794,7 +794,7 @@
Type:
Source:
- src/geom/Rectangle.js line 850 + src/geom/Rectangle.js line 850 @@ -871,7 +871,7 @@
Type:
Source:
- src/geom/Rectangle.js line 545 + src/geom/Rectangle.js line 545 @@ -948,7 +948,7 @@
Type:
Source:
- src/geom/Rectangle.js line 531 + src/geom/Rectangle.js line 531 @@ -1025,7 +1025,7 @@
Type:
Source:
- src/geom/Rectangle.js line 44 + src/geom/Rectangle.js line 44 @@ -1102,7 +1102,7 @@
Type:
Source:
- src/geom/Rectangle.js line 627 + src/geom/Rectangle.js line 627 @@ -1179,7 +1179,7 @@
Type:
Source:
- src/geom/Rectangle.js line 695 + src/geom/Rectangle.js line 695 @@ -1256,7 +1256,7 @@
Type:
Source:
- src/geom/Rectangle.js line 748 + src/geom/Rectangle.js line 748 @@ -1333,7 +1333,7 @@
Type:
Source:
- src/geom/Rectangle.js line 765 + src/geom/Rectangle.js line 765 @@ -1410,7 +1410,7 @@
Type:
Source:
- src/geom/Rectangle.js line 654 + src/geom/Rectangle.js line 654 @@ -1488,7 +1488,7 @@
Type:
Source:
- src/geom/Rectangle.js line 782 + src/geom/Rectangle.js line 782 @@ -1565,7 +1565,7 @@
Type:
Source:
- src/geom/Rectangle.js line 810 + src/geom/Rectangle.js line 810 @@ -1642,7 +1642,7 @@
Type:
Source:
- src/geom/Rectangle.js line 830 + src/geom/Rectangle.js line 830 @@ -1719,7 +1719,7 @@
Type:
Source:
- src/geom/Rectangle.js line 50 + src/geom/Rectangle.js line 50 @@ -1796,7 +1796,7 @@
Type:
Source:
- src/geom/Rectangle.js line 680 + src/geom/Rectangle.js line 680 @@ -1873,7 +1873,7 @@
Type:
Source:
- src/geom/Rectangle.js line 39 + src/geom/Rectangle.js line 39 @@ -1950,7 +1950,7 @@
Type:
Source:
- src/geom/Rectangle.js line 29 + src/geom/Rectangle.js line 29 @@ -2027,7 +2027,7 @@
Type:
Source:
- src/geom/Rectangle.js line 34 + src/geom/Rectangle.js line 34 @@ -2199,7 +2199,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1165 + src/geom/Rectangle.js line 1165 @@ -2401,7 +2401,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 934 + src/geom/Rectangle.js line 934 @@ -2603,7 +2603,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 976 + src/geom/Rectangle.js line 976 @@ -2785,7 +2785,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1014 + src/geom/Rectangle.js line 1014 @@ -3063,7 +3063,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 996 + src/geom/Rectangle.js line 996 @@ -3246,7 +3246,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1028 + src/geom/Rectangle.js line 1028 @@ -3448,7 +3448,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 957 + src/geom/Rectangle.js line 957 @@ -3627,7 +3627,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1049 + src/geom/Rectangle.js line 1049 @@ -3833,7 +3833,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 877 + src/geom/Rectangle.js line 877 @@ -4015,7 +4015,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 897 + src/geom/Rectangle.js line 897 @@ -4249,7 +4249,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1078 + src/geom/Rectangle.js line 1078 @@ -4432,7 +4432,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1106 + src/geom/Rectangle.js line 1106 @@ -4686,7 +4686,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1126 + src/geom/Rectangle.js line 1126 @@ -4868,7 +4868,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1064 + src/geom/Rectangle.js line 1064 @@ -5070,7 +5070,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 911 + src/geom/Rectangle.js line 911 @@ -5304,7 +5304,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 1145 + src/geom/Rectangle.js line 1145 @@ -5412,7 +5412,7 @@

Source:
- src/geom/Rectangle.js line 171 + src/geom/Rectangle.js line 171 @@ -5496,7 +5496,7 @@

Source:
- src/geom/Rectangle.js line 183 + src/geom/Rectangle.js line 183 @@ -5654,7 +5654,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 127 + src/geom/Rectangle.js line 127 @@ -5824,7 +5824,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 287 + src/geom/Rectangle.js line 287 @@ -6002,7 +6002,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 300 + src/geom/Rectangle.js line 300 @@ -6161,7 +6161,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 314 + src/geom/Rectangle.js line 314 @@ -6319,7 +6319,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 197 + src/geom/Rectangle.js line 197 @@ -6477,7 +6477,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 210 + src/geom/Rectangle.js line 210 @@ -6635,7 +6635,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 223 + src/geom/Rectangle.js line 223 @@ -6794,7 +6794,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 328 + src/geom/Rectangle.js line 328 @@ -6902,7 +6902,7 @@

Source:
- src/geom/Rectangle.js line 145 + src/geom/Rectangle.js line 145 @@ -6986,7 +6986,7 @@

Source:
- src/geom/Rectangle.js line 157 + src/geom/Rectangle.js line 157 @@ -7129,7 +7129,7 @@
Parameters:

A Phaser.Point that the values will be set in. - If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

+If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

@@ -7172,7 +7172,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 423 + src/geom/Rectangle.js line 423 @@ -7354,7 +7354,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 241 + src/geom/Rectangle.js line 241 @@ -7536,7 +7536,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 342 + src/geom/Rectangle.js line 342 @@ -7695,7 +7695,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 356 + src/geom/Rectangle.js line 356 @@ -7949,7 +7949,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 371 + src/geom/Rectangle.js line 371 @@ -8131,7 +8131,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 56 + src/geom/Rectangle.js line 56 @@ -8289,7 +8289,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 73 + src/geom/Rectangle.js line 73 @@ -8420,7 +8420,7 @@
Parameters:

A Phaser.Point, or any object with public x/y properties, that the values will be set in. - If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

+If no object is provided a new Phaser.Point object will be created. In high performance areas avoid this by re-using an existing object.

@@ -8463,7 +8463,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 403 + src/geom/Rectangle.js line 403 @@ -8646,7 +8646,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 268 + src/geom/Rectangle.js line 268 @@ -8848,7 +8848,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 107 + src/geom/Rectangle.js line 107 @@ -9078,7 +9078,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 86 + src/geom/Rectangle.js line 86 @@ -9350,7 +9350,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 477 + src/geom/Rectangle.js line 477 @@ -9522,7 +9522,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 255 + src/geom/Rectangle.js line 255 @@ -9630,7 +9630,7 @@

Source:
- src/geom/Rectangle.js line 517 + src/geom/Rectangle.js line 517 @@ -9832,7 +9832,7 @@
Parameters:
Source:
- src/geom/Rectangle.js line 389 + src/geom/Rectangle.js line 389 @@ -9899,9 +9899,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -9916,9 +9916,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -9947,7 +9947,7 @@
Returns:
- + diff --git a/docs/Phaser.RenderTexture.html b/docs/Phaser.RenderTexture.html index cbe2d9731..e5f0ad339 100644 --- a/docs/Phaser.RenderTexture.html +++ b/docs/Phaser.RenderTexture.html @@ -6,7 +6,7 @@ Phaser CE Class: RenderTexture - + @@ -447,7 +447,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 21 + src/gameobjects/RenderTexture.js line 21 @@ -568,7 +568,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 67 + src/gameobjects/RenderTexture.js line 67 @@ -660,7 +660,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -751,7 +751,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -828,7 +828,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 35 + src/gameobjects/RenderTexture.js line 35 @@ -919,7 +919,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -1005,7 +1005,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -1082,7 +1082,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 40 + src/gameobjects/RenderTexture.js line 40 @@ -1168,7 +1168,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -1248,7 +1248,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 85 + src/gameobjects/RenderTexture.js line 85 @@ -1334,7 +1334,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -1420,7 +1420,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -1508,7 +1508,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -1594,7 +1594,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -1671,7 +1671,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 45 + src/gameobjects/RenderTexture.js line 45 @@ -1749,7 +1749,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 108 + src/gameobjects/RenderTexture.js line 108 @@ -1840,7 +1840,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -1918,7 +1918,7 @@

Source:
- src/gameobjects/RenderTexture.js line 263 + src/gameobjects/RenderTexture.js line 263 @@ -2061,7 +2061,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -2228,7 +2228,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 287 + src/pixi/textures/Texture.js line 287 @@ -2332,7 +2332,7 @@

Source:
- src/gameobjects/RenderTexture.js line 408 + src/gameobjects/RenderTexture.js line 408 @@ -2440,7 +2440,7 @@

Source:
- src/gameobjects/RenderTexture.js line 421 + src/gameobjects/RenderTexture.js line 421 @@ -2548,7 +2548,7 @@

Source:
- src/gameobjects/RenderTexture.js line 392 + src/gameobjects/RenderTexture.js line 392 @@ -2608,7 +2608,7 @@

This function will draw the display object to the RenderTexture.

-

In versions of Phaser prior to 2.4.0 the second parameter was a Phaser.Point object. +

In versions of Phaser prior to 2.4.0 the second parameter was a Phaser.Point object. This is now a Matrix allowing you much more control over how the Display Object is rendered. If you need to replicate the earlier behavior please use Phaser.RenderTexture.renderXY instead.

If you wish for the displayObject to be rendered taking its current scale, rotation and translation into account then either @@ -2813,7 +2813,7 @@

Parameters:
Source:
- src/gameobjects/RenderTexture.js line 181 + src/gameobjects/RenderTexture.js line 181 @@ -3089,7 +3089,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 152 + src/gameobjects/RenderTexture.js line 152 @@ -3365,7 +3365,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 119 + src/gameobjects/RenderTexture.js line 119 @@ -3547,7 +3547,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 219 + src/gameobjects/RenderTexture.js line 219 @@ -3690,7 +3690,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -3733,9 +3733,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -3750,9 +3750,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -3781,7 +3781,7 @@
Parameters:
- + diff --git a/docs/Phaser.RequestAnimationFrame.html b/docs/Phaser.RequestAnimationFrame.html index c68f1c215..50a77b398 100644 --- a/docs/Phaser.RequestAnimationFrame.html +++ b/docs/Phaser.RequestAnimationFrame.html @@ -6,7 +6,7 @@ Phaser CE Class: RequestAnimationFrame - + @@ -286,7 +286,7 @@

Parameters:
Source:
- src/utils/RequestAnimationFrame.js line 15 + src/utils/RequestAnimationFrame.js line 15 @@ -391,7 +391,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 34 + src/utils/RequestAnimationFrame.js line 34 @@ -468,7 +468,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 23 + src/utils/RequestAnimationFrame.js line 23 @@ -545,7 +545,7 @@
Type:
Source:
- src/utils/RequestAnimationFrame.js line 29 + src/utils/RequestAnimationFrame.js line 29 @@ -623,7 +623,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 170 + src/utils/RequestAnimationFrame.js line 170 @@ -727,7 +727,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 160 + src/utils/RequestAnimationFrame.js line 160 @@ -831,7 +831,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 71 + src/utils/RequestAnimationFrame.js line 71 @@ -915,7 +915,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 140 + src/utils/RequestAnimationFrame.js line 140 @@ -999,7 +999,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 107 + src/utils/RequestAnimationFrame.js line 107 @@ -1083,7 +1083,7 @@

Source:
- src/utils/RequestAnimationFrame.js line 124 + src/utils/RequestAnimationFrame.js line 124 @@ -1126,9 +1126,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1143,9 +1143,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1174,7 +1174,7 @@

- + diff --git a/docs/Phaser.RetroFont.html b/docs/Phaser.RetroFont.html index ea3c5d0e7..77b940ab0 100644 --- a/docs/Phaser.RetroFont.html +++ b/docs/Phaser.RetroFont.html @@ -6,7 +6,7 @@ Phaser CE Class: RetroFont - + @@ -589,7 +589,7 @@

Parameters:
Source:
- src/gameobjects/RetroFont.js line 25 + src/gameobjects/RetroFont.js line 25 @@ -705,7 +705,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 197 + src/gameobjects/RetroFont.js line 197 @@ -782,7 +782,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 183 + src/gameobjects/RetroFont.js line 183 @@ -859,7 +859,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 190 + src/gameobjects/RetroFont.js line 190 @@ -936,7 +936,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 204 + src/gameobjects/RetroFont.js line 204 @@ -1013,7 +1013,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 211 + src/gameobjects/RetroFont.js line 211 @@ -1090,7 +1090,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 218 + src/gameobjects/RetroFont.js line 218 @@ -1167,7 +1167,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 225 + src/gameobjects/RetroFont.js line 225 @@ -1244,7 +1244,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 232 + src/gameobjects/RetroFont.js line 232 @@ -1321,7 +1321,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 239 + src/gameobjects/RetroFont.js line 239 @@ -1398,7 +1398,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 246 + src/gameobjects/RetroFont.js line 246 @@ -1475,7 +1475,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 253 + src/gameobjects/RetroFont.js line 253 @@ -1552,7 +1552,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 260 + src/gameobjects/RetroFont.js line 260 @@ -1629,7 +1629,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 267 + src/gameobjects/RetroFont.js line 267 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 274 + src/gameobjects/RetroFont.js line 274 @@ -1783,7 +1783,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 78 + src/gameobjects/RetroFont.js line 78 @@ -1867,7 +1867,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 90 + src/gameobjects/RetroFont.js line 90 @@ -1953,7 +1953,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 67 + src/gameobjects/RenderTexture.js line 67 @@ -2030,7 +2030,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 46 + src/gameobjects/RetroFont.js line 46 @@ -2107,7 +2107,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 61 + src/gameobjects/RetroFont.js line 61 @@ -2184,7 +2184,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 51 + src/gameobjects/RetroFont.js line 51 @@ -2261,7 +2261,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 56 + src/gameobjects/RetroFont.js line 56 @@ -2338,7 +2338,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 41 + src/gameobjects/RetroFont.js line 41 @@ -2425,7 +2425,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 134 + src/pixi/textures/Texture.js line 134 @@ -2502,7 +2502,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 96 + src/gameobjects/RetroFont.js line 96 @@ -2579,7 +2579,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 102 + src/gameobjects/RetroFont.js line 102 @@ -2657,7 +2657,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 109 + src/gameobjects/RetroFont.js line 109 @@ -2734,7 +2734,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 114 + src/gameobjects/RetroFont.js line 114 @@ -2820,7 +2820,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 60 + src/pixi/textures/Texture.js line 60 @@ -2897,7 +2897,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 131 + src/gameobjects/RetroFont.js line 131 @@ -2983,7 +2983,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 35 + src/gameobjects/RenderTexture.js line 35 @@ -3069,7 +3069,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 125 + src/pixi/textures/Texture.js line 125 @@ -3155,7 +3155,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 84 + src/pixi/textures/Texture.js line 84 @@ -3241,7 +3241,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 40 + src/gameobjects/RenderTexture.js line 40 @@ -3318,7 +3318,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 84 + src/gameobjects/RetroFont.js line 84 @@ -3404,7 +3404,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 33 + src/pixi/textures/Texture.js line 33 @@ -3481,7 +3481,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 67 + src/gameobjects/RetroFont.js line 67 @@ -3558,7 +3558,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 73 + src/gameobjects/RetroFont.js line 73 @@ -3647,7 +3647,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 85 + src/gameobjects/RenderTexture.js line 85 @@ -3738,7 +3738,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 100 + src/pixi/textures/Texture.js line 100 @@ -3824,7 +3824,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 92 + src/pixi/textures/Texture.js line 92 @@ -3912,7 +3912,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 144 + src/pixi/textures/Texture.js line 144 @@ -3989,7 +3989,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 595 + src/gameobjects/RetroFont.js line 595 @@ -4066,7 +4066,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 164 + src/gameobjects/RetroFont.js line 164 @@ -4143,7 +4143,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 555 + src/gameobjects/RetroFont.js line 555 @@ -4229,7 +4229,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 68 + src/pixi/textures/Texture.js line 68 @@ -4311,7 +4311,7 @@
Type:
Source:
- src/gameobjects/RetroFont.js line 171 + src/gameobjects/RetroFont.js line 171 @@ -4393,7 +4393,7 @@
Type:
Source:
- src/gameobjects/RenderTexture.js line 108 + src/gameobjects/RenderTexture.js line 108 @@ -4479,7 +4479,7 @@
Type:
Source:
- src/pixi/textures/Texture.js line 117 + src/pixi/textures/Texture.js line 117 @@ -4557,7 +4557,7 @@

Source:
- src/gameobjects/RetroFont.js line 331 + src/gameobjects/RetroFont.js line 331 @@ -4650,7 +4650,7 @@

Source:
- src/gameobjects/RenderTexture.js line 263 + src/gameobjects/RenderTexture.js line 263 @@ -4793,7 +4793,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 174 + src/pixi/textures/Texture.js line 174 @@ -4960,7 +4960,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 287 + src/pixi/textures/Texture.js line 287 @@ -5073,7 +5073,7 @@

Source:
- src/gameobjects/RenderTexture.js line 408 + src/gameobjects/RenderTexture.js line 408 @@ -5190,7 +5190,7 @@

Source:
- src/gameobjects/RenderTexture.js line 421 + src/gameobjects/RenderTexture.js line 421 @@ -5307,7 +5307,7 @@

Source:
- src/gameobjects/RenderTexture.js line 392 + src/gameobjects/RenderTexture.js line 392 @@ -5411,7 +5411,7 @@

Source:
- src/gameobjects/RetroFont.js line 464 + src/gameobjects/RetroFont.js line 464 @@ -5642,7 +5642,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 424 + src/gameobjects/RetroFont.js line 424 @@ -5796,7 +5796,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 492 + src/gameobjects/RetroFont.js line 492 @@ -5860,7 +5860,7 @@

This function will draw the display object to the RenderTexture.

-

In versions of Phaser prior to 2.4.0 the second parameter was a Phaser.Point object. +

In versions of Phaser prior to 2.4.0 the second parameter was a Phaser.Point object. This is now a Matrix allowing you much more control over how the Display Object is rendered. If you need to replicate the earlier behavior please use Phaser.RenderTexture.renderXY instead.

If you wish for the displayObject to be rendered taking its current scale, rotation and translation into account then either @@ -6074,7 +6074,7 @@

Parameters:
Source:
- src/gameobjects/RenderTexture.js line 181 + src/gameobjects/RenderTexture.js line 181 @@ -6359,7 +6359,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 152 + src/gameobjects/RenderTexture.js line 152 @@ -6644,7 +6644,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 119 + src/gameobjects/RenderTexture.js line 119 @@ -6835,7 +6835,7 @@
Parameters:
Source:
- src/gameobjects/RenderTexture.js line 219 + src/gameobjects/RenderTexture.js line 219 @@ -7026,7 +7026,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 276 + src/gameobjects/RetroFont.js line 276 @@ -7169,7 +7169,7 @@
Parameters:
Source:
- src/pixi/textures/Texture.js line 187 + src/pixi/textures/Texture.js line 187 @@ -7519,7 +7519,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 295 + src/gameobjects/RetroFont.js line 295 @@ -7715,7 +7715,7 @@
Parameters:
Source:
- src/gameobjects/RetroFont.js line 521 + src/gameobjects/RetroFont.js line 521 @@ -7758,9 +7758,9 @@
Parameters:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -7775,9 +7775,9 @@
Parameters:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -7806,7 +7806,7 @@
Parameters:
- + diff --git a/docs/Phaser.Rope.html b/docs/Phaser.Rope.html index 08d185cb6..3412cc582 100644 --- a/docs/Phaser.Rope.html +++ b/docs/Phaser.Rope.html @@ -6,7 +6,7 @@ Phaser CE Class: Rope - + @@ -364,7 +364,7 @@

Parameters:
Source:
- src/gameobjects/Rope.js line 44 + src/gameobjects/Rope.js line 44 @@ -536,7 +536,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 57 + src/gameobjects/components/LifeSpan.js line 57 @@ -632,7 +632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 74 + src/pixi/display/DisplayObject.js line 74 @@ -660,9 +660,9 @@

The angle property is the rotation of the Game Object in degrees from its original orientation.

Values from 0 to 180 represent clockwise rotation; values from 0 to -180 represent counterclockwise rotation.

-

Values outside this range are added to or subtracted from 360 to obtain a value within the range. +

Values outside this range are added to or subtracted from 360 to obtain a value within the range. For example, the statement player.angle = 450 is the same as player.angle = 90.

-

If you wish to work in radians instead of degrees you can use the property rotation instead. +

If you wish to work in radians instead of degrees you can use the property rotation instead. Working in radians is slightly faster as it doesn't have to perform any calculations.

@@ -723,7 +723,7 @@

Type:
Source:
- src/gameobjects/components/Angle.js line 29 + src/gameobjects/components/Angle.js line 29 @@ -810,7 +810,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 218 + src/gameobjects/components/Core.js line 191 @@ -907,7 +907,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 28 + src/gameobjects/components/AutoCull.js line 28 @@ -933,13 +933,13 @@

-

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated +

body is the Game Objects physics body. Once a Game Object is enabled for physics you access all associated properties and methods via it.

By default Game Objects won't add themselves to any physics system and their body property will be null.

To enable this Game Object for physics you need to call game.physics.enable(object, system) where object is this object and system is the Physics system you are using. If none is given it defaults to Phaser.Physics.Arcade.

You can alternatively call game.physics.arcade.enable(object), or add this Game Object to a physics enabled Group.

-

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, +

Important: Enabling a Game Object for P2 or Ninja physics will automatically set its anchor property to 0.5, so the physics body is centered on the Game Object.

If you need a different result then adjust or re-create the Body shape offsets manually or reset the anchor after enabling physics.

@@ -1010,7 +1010,7 @@
Type:
Source:
- src/gameobjects/components/PhysicsBody.js line 101 + src/gameobjects/components/PhysicsBody.js line 101 @@ -1097,7 +1097,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 180 + src/gameobjects/components/Bounds.js line 180 @@ -1190,7 +1190,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 830 + src/pixi/display/DisplayObject.js line 830 @@ -1277,7 +1277,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 88 + src/gameobjects/components/FixedToCamera.js line 88 @@ -1354,7 +1354,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 102 + src/gameobjects/Rope.js line 102 @@ -1441,7 +1441,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 60 + src/gameobjects/components/Bounds.js line 60 @@ -1528,7 +1528,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 84 + src/gameobjects/components/Bounds.js line 84 @@ -1554,7 +1554,7 @@

-

If this is set to true the Game Object checks if it is within the World bounds each frame.

+

If this is set to true the Game Object checks if it is within the World bounds each frame.

When it is no longer intersecting the world bounds it dispatches the onOutOfBounds event.

If it was previously out of bounds but is now intersecting the world bounds again it dispatches the onEnterBounds event.

It also optionally kills the Game Object if outOfBoundsKill is true.

@@ -1620,7 +1620,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 105 + src/gameobjects/components/InWorld.js line 105 @@ -1706,7 +1706,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 25 + src/pixi/display/DisplayObjectContainer.js line 25 @@ -1792,7 +1792,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 192 + src/gameobjects/components/Core.js line 165 @@ -1819,7 +1819,7 @@

The Rectangle used to crop the texture this Game Object uses. -Set this property via crop. +Set this property via crop. If you modify this property directly you must call updateCrop in order to have the change take effect.

@@ -1880,7 +1880,7 @@

Type:
Source:
- src/gameobjects/components/Crop.js line 24 + src/gameobjects/components/Crop.js line 24 @@ -1976,7 +1976,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 185 + src/gameobjects/components/Core.js line 158 @@ -2062,7 +2062,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 243 + src/gameobjects/components/Core.js line 216 @@ -2149,7 +2149,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 24 + src/gameobjects/components/Delta.js line 24 @@ -2236,7 +2236,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 43 + src/gameobjects/components/Delta.js line 43 @@ -2322,7 +2322,7 @@
Type:
Source:
- src/gameobjects/components/Delta.js line 60 + src/gameobjects/components/Delta.js line 60 @@ -2348,7 +2348,7 @@

-

As a Game Object runs through its destroy method this flag is set to true, +

As a Game Object runs through its destroy method this flag is set to true, and can be checked in any sub-systems or plugins it is being destroyed from.

@@ -2409,7 +2409,7 @@
Type:
Source:
- src/gameobjects/components/Destroy.js line 22 + src/gameobjects/components/Destroy.js line 22 @@ -2486,7 +2486,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 94 + src/gameobjects/Rope.js line 94 @@ -2573,7 +2573,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 210 + src/gameobjects/components/Core.js line 183 @@ -2671,7 +2671,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 309 + src/gameobjects/components/Core.js line 282 @@ -2757,7 +2757,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 206 + src/pixi/display/DisplayObject.js line 206 @@ -2848,7 +2848,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 775 + src/pixi/display/DisplayObject.js line 775 @@ -2874,11 +2874,11 @@

-

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets -are stored in the cameraOffset property, which is initialized with the current object coordinates.

+

A Game Object that is "fixed" to the camera is rendered at a given x/y offsets from the top left of the camera. The offsets +are stored in the cameraOffset property, which is initialized with the current object coordinates.

The values are adjusted at the rendering stage, overriding the Game Objects actual world position.

The end result is that the Game Object will appear to be 'fixed' to the camera, regardless of where in the game world -the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times +the camera is viewing. This is useful if for example this Game Object is a UI item that you wish to be visible at all times regardless where in the world the camera is.

Note that the cameraOffset values are in addition to any parent of this Game Object on the display list.

Be careful not to set fixedToCamera on Game Objects which are in Groups that already have fixedToCamera enabled on them.

@@ -2941,7 +2941,7 @@
Type:
Source:
- src/gameobjects/components/FixedToCamera.js line 56 + src/gameobjects/components/FixedToCamera.js line 56 @@ -3032,7 +3032,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 265 + src/gameobjects/components/LoadTexture.js line 265 @@ -3059,7 +3059,7 @@

Gets or sets the current frame name of the texture being used to render this Game Object.

-

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, +

To change the frame set frameName to the name of the new frame in the texture atlas you wish this Game Object to use, for example: player.frameName = "idle".

If the frame name given doesn't exist it will revert to the first frame found in the texture and throw a console warning.

If you are using a sprite sheet then you should use the frame property instead.

@@ -3123,7 +3123,7 @@
Type:
Source:
- src/gameobjects/components/LoadTexture.js line 292 + src/gameobjects/components/LoadTexture.js line 292 @@ -3210,7 +3210,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 273 + src/gameobjects/components/Core.js line 246 @@ -3296,7 +3296,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 167 + src/gameobjects/components/Core.js line 140 @@ -3382,7 +3382,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 642 + src/pixi/display/DisplayObjectContainer.js line 642 @@ -3478,7 +3478,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 100 + src/pixi/display/DisplayObject.js line 100 @@ -3566,7 +3566,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 36 + src/pixi/display/DisplayObjectContainer.js line 36 @@ -3653,7 +3653,7 @@
Type:
Source:
- src/gameobjects/components/AutoCull.js line 37 + src/gameobjects/components/AutoCull.js line 37 @@ -3739,7 +3739,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 136 + src/gameobjects/components/InWorld.js line 136 @@ -3841,7 +3841,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 228 + src/gameobjects/components/Core.js line 201 @@ -3928,7 +3928,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 108 + src/gameobjects/components/Bounds.js line 108 @@ -4018,7 +4018,7 @@
Type:
Source:
- src/gameobjects/components/LifeSpan.js line 72 + src/gameobjects/components/LifeSpan.js line 72 @@ -4107,7 +4107,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 738 + src/pixi/display/DisplayObject.js line 738 @@ -4194,7 +4194,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 175 + src/gameobjects/components/Core.js line 148 @@ -4282,7 +4282,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 24 + src/gameobjects/components/Bounds.js line 24 @@ -4370,7 +4370,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 43 + src/gameobjects/components/Bounds.js line 43 @@ -4456,7 +4456,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 113 + src/gameobjects/components/InWorld.js line 113 @@ -4543,7 +4543,7 @@
Type:
Source:
- src/gameobjects/components/InWorld.js line 122 + src/gameobjects/components/InWorld.js line 122 @@ -4632,7 +4632,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 121 + src/pixi/display/DisplayObject.js line 121 @@ -4721,7 +4721,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 284 + src/gameobjects/components/Core.js line 257 @@ -4808,7 +4808,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 50 + src/pixi/display/DisplayObject.js line 50 @@ -4896,7 +4896,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 30 + src/pixi/display/DisplayObject.js line 30 @@ -4982,7 +4982,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 250 + src/gameobjects/components/Core.js line 223 @@ -5068,7 +5068,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 257 + src/gameobjects/components/Core.js line 230 @@ -5155,7 +5155,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 109 + src/pixi/display/DisplayObject.js line 109 @@ -5242,7 +5242,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 265 + src/gameobjects/components/Core.js line 238 @@ -5329,7 +5329,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 132 + src/gameobjects/components/Bounds.js line 132 @@ -5418,7 +5418,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 62 + src/pixi/display/DisplayObject.js line 62 @@ -5507,7 +5507,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 42 + src/pixi/display/DisplayObject.js line 42 @@ -5595,7 +5595,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 46 + src/gameobjects/components/ScaleMinMax.js line 46 @@ -5683,7 +5683,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 36 + src/gameobjects/components/ScaleMinMax.js line 36 @@ -5802,7 +5802,7 @@
Properties:
Source:
- src/gameobjects/Rope.js line 791 + src/gameobjects/Rope.js line 791 @@ -5890,7 +5890,7 @@
Type:
Source:
- src/gameobjects/components/Smoothed.js line 25 + src/gameobjects/components/Smoothed.js line 25 @@ -5977,7 +5977,7 @@
Type:
Source:
- src/gameobjects/components/Bounds.js line 156 + src/gameobjects/components/Bounds.js line 156 @@ -6063,7 +6063,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 20 + src/gameobjects/components/ScaleMinMax.js line 20 @@ -6149,7 +6149,7 @@
Type:
Source:
- src/gameobjects/components/ScaleMinMax.js line 26 + src/gameobjects/components/ScaleMinMax.js line 26 @@ -6226,7 +6226,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 59 + src/gameobjects/Rope.js line 59 @@ -6303,7 +6303,7 @@
Type:
Source:
- src/gameobjects/Rope.js line 758 + src/gameobjects/Rope.js line 758 @@ -6402,7 +6402,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 91 + src/pixi/display/DisplayObject.js line 91 @@ -6488,7 +6488,7 @@
Type:
Source:
- src/pixi/display/DisplayObjectContainer.js line 611 + src/pixi/display/DisplayObjectContainer.js line 611 @@ -6576,7 +6576,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 236 + src/gameobjects/components/Core.js line 209 @@ -6668,7 +6668,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 137 + src/pixi/display/DisplayObject.js line 137 @@ -6759,7 +6759,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 167 + src/pixi/display/DisplayObject.js line 167 @@ -6850,7 +6850,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 197 + src/pixi/display/DisplayObject.js line 197 @@ -6941,7 +6941,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 182 + src/pixi/display/DisplayObject.js line 182 @@ -7032,7 +7032,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 152 + src/pixi/display/DisplayObject.js line 152 @@ -7118,7 +7118,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 694 + src/pixi/display/DisplayObject.js line 694 @@ -7210,7 +7210,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 646 + src/pixi/display/DisplayObject.js line 646 @@ -7302,7 +7302,7 @@
Type:
Source:
- src/pixi/display/DisplayObject.js line 670 + src/pixi/display/DisplayObject.js line 670 @@ -7391,7 +7391,7 @@
Type:
Source:
- src/gameobjects/components/Core.js line 202 + src/gameobjects/components/Core.js line 175 @@ -7528,7 +7528,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 43 + src/pixi/display/DisplayObjectContainer.js line 43 @@ -7719,7 +7719,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 57 + src/pixi/display/DisplayObjectContainer.js line 57 @@ -8062,7 +8062,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 237 + src/gameobjects/components/Bounds.js line 237 @@ -8406,7 +8406,7 @@
Parameters:
Source:
- src/gameobjects/components/Bounds.js line 336 + src/gameobjects/components/Bounds.js line 336 @@ -8526,7 +8526,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 24 + src/gameobjects/components/BringToTop.js line 24 @@ -8693,7 +8693,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 486 + src/pixi/display/DisplayObjectContainer.js line 486 @@ -8756,9 +8756,9 @@

Setting a crop rectangle modifies the core texture frame. The Game Object width and height properties will be adjusted accordingly.

Cropping takes place from the top-left and can be modified in real-time either by providing an updated rectangle object to this method, or by modifying cropRect property directly and then calling updateCrop.

-

The rectangle object given to this method can be either a Phaser.Rectangle or any other object +

The rectangle object given to this method can be either a Phaser.Rectangle or any other object so long as it has public x, y, width, height, right and bottom properties.

-

A reference to the rectangle is stored in cropRect unless the copy parameter is true, +

A reference to the rectangle is stored in cropRect unless the copy parameter is true, in which case the values are duplicated to a local object.

@@ -8919,7 +8919,7 @@

Parameters:
Source:
- src/gameobjects/components/Crop.js line 49 + src/gameobjects/components/Crop.js line 49 @@ -9019,7 +9019,7 @@

Source:
- src/pixi/display/DisplayObject.js line 256 + src/pixi/display/DisplayObject.js line 256 @@ -9264,7 +9264,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 449 + src/pixi/display/DisplayObject.js line 449 @@ -9429,7 +9429,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 696 + src/gameobjects/Rope.js line 696 @@ -9596,7 +9596,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 159 + src/pixi/display/DisplayObjectContainer.js line 159 @@ -9763,7 +9763,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 116 + src/pixi/display/DisplayObjectContainer.js line 116 @@ -9880,7 +9880,7 @@

Source:
- src/pixi/display/DisplayObjectContainer.js line 473 + src/pixi/display/DisplayObjectContainer.js line 473 @@ -10001,7 +10001,7 @@

Source:
- src/gameobjects/components/LifeSpan.js line 121 + src/gameobjects/components/LifeSpan.js line 121 @@ -10068,10 +10068,10 @@

If your Game Object is using a frame from a texture atlas and you just wish to change to another frame, then see the frame or frameName properties instead.

You should only use loadTexture if you want to replace the base texture entirely.

Calling this method causes a WebGL texture update, so use sparingly or in low-intensity portions of your game, or if you know the new texture is already on the GPU.

-

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. -Doing this then sets the key to be the frame argument (the frame is set to zero).

-

This allows you to create sprites using load.image during development, and then change them -to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' +

You can use the new const Phaser.PENDING_ATLAS as the texture key for any sprite. +Doing this then sets the key to be the frame argument (the frame is set to zero).

+

This allows you to create sprites using load.image during development, and then change them +to use a Texture Atlas later in development by simply searching your code for 'PENDING_ATLAS' and swapping it to be the key of the atlas data.

Note: You cannot use a RenderTexture as a texture for a TileSprite.

@@ -10286,7 +10286,7 @@

Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 51 + src/gameobjects/components/LoadTexture.js line 51 @@ -10327,7 +10327,7 @@

Moves this Game Object down one place in its parents display list. This call has no effect if the Game Object is already at the bottom of the display list.

-

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, +

If this Game Object hasn't been added to a custom Group then this method will move it one object down within the Game World, because the World is the root Group from which all Game Objects descend.

@@ -10382,7 +10382,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 90 + src/gameobjects/components/BringToTop.js line 90 @@ -10502,7 +10502,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 68 + src/gameobjects/components/BringToTop.js line 68 @@ -10565,7 +10565,7 @@

-

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, +

Checks to see if the bounds of this Game Object overlaps with the bounds of the given Display Object, which can be a Sprite, Image, TileSprite or anything that extends those such as Button or provides a getBounds method and result.

This check ignores the hitArea property if set and runs a getBounds comparison on both objects to determine the result.

Therefore it's relatively expensive to use in large quantities, i.e. with lots of Sprites at a high frequency. @@ -10685,7 +10685,7 @@

Parameters:
Source:
- src/gameobjects/components/Overlap.js line 29 + src/gameobjects/components/Overlap.js line 29 @@ -10991,7 +10991,7 @@
Parameters:
Source:
- src/gameobjects/components/Animation.js line 31 + src/gameobjects/components/Animation.js line 31 @@ -11108,7 +11108,7 @@

Source:
- src/gameobjects/components/Core.js line 392 + src/gameobjects/components/Core.js line 365 @@ -11197,7 +11197,7 @@

Source:
- src/gameobjects/Rope.js line 143 + src/gameobjects/Rope.js line 143 @@ -11290,7 +11290,7 @@

Source:
- src/gameobjects/components/Core.js line 354 + src/gameobjects/components/Core.js line 327 @@ -11374,7 +11374,7 @@

Source:
- src/gameobjects/Rope.js line 197 + src/gameobjects/Rope.js line 197 @@ -11517,7 +11517,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 178 + src/pixi/display/DisplayObjectContainer.js line 178 @@ -11684,7 +11684,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 199 + src/pixi/display/DisplayObjectContainer.js line 199 @@ -11875,7 +11875,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 246 + src/pixi/display/DisplayObjectContainer.js line 246 @@ -11959,7 +11959,7 @@

Source:
- src/gameobjects/Rope.js line 655 + src/gameobjects/Rope.js line 655 @@ -12124,7 +12124,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 177 + src/gameobjects/Rope.js line 177 @@ -12241,7 +12241,7 @@

Source:
- src/gameobjects/components/LoadTexture.js line 242 + src/gameobjects/components/LoadTexture.js line 242 @@ -12434,7 +12434,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 229 + src/gameobjects/components/LoadTexture.js line 229 @@ -12599,7 +12599,7 @@
Parameters:
Source:
- src/gameobjects/components/LifeSpan.js line 85 + src/gameobjects/components/LifeSpan.js line 85 @@ -12719,7 +12719,7 @@

Source:
- src/gameobjects/components/BringToTop.js line 46 + src/gameobjects/components/BringToTop.js line 46 @@ -12910,7 +12910,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 137 + src/pixi/display/DisplayObjectContainer.js line 137 @@ -13054,7 +13054,7 @@
Parameters:
Source:
- src/gameobjects/components/LoadTexture.js line 158 + src/gameobjects/components/LoadTexture.js line 158 @@ -13291,7 +13291,7 @@
Parameters:
Source:
- src/gameobjects/components/ScaleMinMax.js line 111 + src/gameobjects/components/ScaleMinMax.js line 111 @@ -13425,7 +13425,7 @@
Parameters:
Source:
- src/gameobjects/Rope.js line 314 + src/gameobjects/Rope.js line 314 @@ -13592,7 +13592,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObjectContainer.js line 88 + src/pixi/display/DisplayObjectContainer.js line 88 @@ -13735,7 +13735,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 493 + src/pixi/display/DisplayObject.js line 493 @@ -13948,7 +13948,7 @@
Parameters:
Source:
- src/pixi/display/DisplayObject.js line 509 + src/pixi/display/DisplayObject.js line 509 @@ -14063,7 +14063,7 @@

Source:
- src/gameobjects/Rope.js line 161 + src/gameobjects/Rope.js line 161 @@ -14156,7 +14156,7 @@

Source:
- src/pixi/display/DisplayObject.js line 478 + src/pixi/display/DisplayObject.js line 478 @@ -14276,7 +14276,7 @@

Source:
- src/gameobjects/components/Crop.js line 87 + src/gameobjects/components/Crop.js line 87 @@ -14365,7 +14365,7 @@

Source:
- src/gameobjects/Rope.js line 247 + src/gameobjects/Rope.js line 247 @@ -14408,9 +14408,9 @@

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -14425,9 +14425,9 @@

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -14456,7 +14456,7 @@

- + diff --git a/docs/Phaser.RoundedRectangle.html b/docs/Phaser.RoundedRectangle.html index 6729fa4b4..05fdc987b 100644 --- a/docs/Phaser.RoundedRectangle.html +++ b/docs/Phaser.RoundedRectangle.html @@ -6,7 +6,7 @@ Phaser CE Class: RoundedRectangle - + @@ -135,7 +135,7 @@

-

The Rounded Rectangle object is an area defined by its position and has nice rounded corners, +

The Rounded Rectangle object is an area defined by its position and has nice rounded corners, as indicated by its top-left corner point (x, y) and by its width and its height.

@@ -411,7 +411,7 @@

Parameters:
Source:
- src/geom/RoundedRectangle.js line 20 + src/geom/RoundedRectangle.js line 20 @@ -516,7 +516,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 46 + src/geom/RoundedRectangle.js line 46 @@ -593,7 +593,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 51 + src/geom/RoundedRectangle.js line 51 @@ -670,7 +670,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 57 + src/geom/RoundedRectangle.js line 57 @@ -747,7 +747,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 41 + src/geom/RoundedRectangle.js line 41 @@ -824,7 +824,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 31 + src/geom/RoundedRectangle.js line 31 @@ -901,7 +901,7 @@
Type:
Source:
- src/geom/RoundedRectangle.js line 36 + src/geom/RoundedRectangle.js line 36 @@ -980,7 +980,7 @@

Source:
- src/geom/RoundedRectangle.js line 62 + src/geom/RoundedRectangle.js line 62 @@ -1158,7 +1158,7 @@
Parameters:
Source:
- src/geom/RoundedRectangle.js line 76 + src/geom/RoundedRectangle.js line 76 @@ -1225,9 +1225,9 @@
Returns:

- phaser-ce@2.14.0 + phaser-ce@2.15.0 is on - GitHub + GitHub and NPM

@@ -1242,9 +1242,9 @@
Returns:

- Documentation generated by JSDoc 3.5.4 + Documentation generated by JSDoc 3.6.3 - on 2020-01-19 + on 2020-03-06 using Tomorrow.

@@ -1273,7 +1273,7 @@
Returns:
- + diff --git a/docs/Phaser.ScaleManager.html b/docs/Phaser.ScaleManager.html index 73a4630c8..7ac948e61 100644 --- a/docs/Phaser.ScaleManager.html +++ b/docs/Phaser.ScaleManager.html @@ -6,7 +6,7 @@ Phaser CE Class: ScaleManager - + @@ -124,31 +124,47 @@

canvas's Parent element play an important role in the operation of the ScaleManager.

The Display canvas - or Game size, depending scaleMode - is updated to best utilize the Parent size. When in Fullscreen mode or with parentIsWindow the Parent size is that of the visual viewport (see getParentBounds).

-

Parent and Display canvas containment guidelines: